私は次のことをすることになっています:
10 種類の Employee オブジェクトのランダム リストを返す、generateEmployees( ) という静的メソッドを使用して、Java アプリケーション (クライアント) プログラムを作成します。配列または ArrayList を使用して、返される従業員オブジェクトを格納できます。for ループを使用して、ランダムに異なるタイプの従業員オブジェクトにランダム データを入力します。1 ~ 4 のような値の範囲を考えることができます。ランダム値が 1 の場合は、ランダムに生成されたデータを使用して HourlyEmployee オブジェクトを作成し、2 の場合は、ランダム データを使用して SalariedEmployee オブジェクトを作成します。これらのさまざまな Employee オブジェクトを生成して設定するのは、あなたの創意工夫に任せます。これらのオブジェクトが生成されたら、それらをデータ構造 (使用している配列または ArrayList) に追加します。最後に、メソッドはこのデータ構造を返します。
同じアプリケーション クラスで、main( ) メソッドを実装します。generateEmployees( ) 静的メソッドを呼び出し、for ループを使用して、端末ウィンドウに各従業員の詳細を収入とともに出力します。
私の generateEmployees() 静的メソッドは次のとおりです(正しくない可能性があります...また、少なくとも姓名に関しては、その方法が正確にわからないため、データはランダムに生成されていませんが懸念されます。):
public static Employee[] generateEmployees()
{
Employee[] employees = new Employee[10];
int randomNum = 0;
for (int i = 0; i < 10; i++)
{
Random random = new Random();
randomNum = random.nextInt(4) + 1;
switch (randomNum)
{
case 0:
employees[i] = new SalariedEmployee("Bri", "Gefroh", 123, 1000);
break;
case 1:
employees[i] = new HourlyEmployee("Bri", "Gefroh", 123, 12.50, 10);
break;
case 2:
employees[i] = new CommissionEmployee("Bri", "Gefroh", 123, 10000, 0.05);
break;
case 3:
employees[i] = new BasePlusCommissionEmployee("Bri", "Gefroh", 123, 10000, 0.05, 2500);
break;
}
}
return employees;
}
このメソッドを呼び出して main() メソッドで使用するにはどうすればよいですか? これら 4 種類の従業員はそれぞれ Employee クラスのサブクラスであり、各サブクラスには独自の toString() メソッドがあります。