私は抽象クラスEmployee
を持っており、それに基づいて、私は次のサブクラスを作成しました:スーパークラス配列内にある別のオブジェクトの内部にあるオブジェクト配列にアクセスするにはどうすればよいですか?
FulltimeEmployee
PartTimeEmployee
Salesman
ならびに1つのスタンドアロンクラス、Orders
。
私はセールスマンのコンストラクタで注文の配列を送信することによって、「セールスマンの記述」にOrders
クラスを使用します。
public Salesman(String firstname, String lastname,int code, String address,
String city,int tk,int phone,String email,int deptcode,int card,
double hours,String cat,int orderno,double salary,
Orders[] order){
super( firstname, lastname, code, address, city, tk, phone, email, deptcode,
card, hours, cat);
this.orderno=orderno;
setBaseSalary(salary);
getSalary(orders);
/////////////////
}
その後、私はに応じて、セールスマンが得るボーナスを計算するためにその配列を使用彼が作る売上の量。各行は、従業員の異なるタイプ(給与=フルタイム、partt =パートタイム、販売=営業マンの)である
Employee employees[] = new Employee[ 7 ];
employees[ 0 ] = salary1;
employees[ 1 ] = salary2;
employees[ 2 ] = salary3;
employees[ 3 ] = partt1;
employees[ 4 ] = partt2;
employees[ 5 ] = sales1;
employees[ 6 ] = sales;
:
はmain
において、I型Employee
の配列を作成しました。
私の問題は、従業員の配列を使って各セールスマンの注文を印刷したいということです。 は、私がこれまで行ってきたことは問題
for (int i=5;i<employees.length;i++){
System.out.printf("Orders of Salesman: %S %S",
employees[i].getName(),employees[i].getSurname());
System.out.printf(" Total amount(money) from orders: %,.0f ",
employees[i].earnings());
int j=0;
((Salesman)employees[i]).getOrderNo(arr) ;
//((Orders)employees[i]).getOrderNo();
System.out.printf("ordernumber: %d orderdate:%s description: %s
order amount(money): %,.0f\n ");
}
あり、ここで来る:
System.out.printf("ordernumber: %d orderdate:%s description: %s order amount(money): %,.0f\n ");
私は従業員のアレイ上のセールスマンオブジェクトの内部で注文アレイにアクセスするにはどうすればよいですか? 私はキャストしようとしましたが、OrdersはEmployeeのサブクラスではないため動作しません。私はそれは例えば、印刷する必要があり
、セールスマンの
受注:1注文日:セールスマン
注文番号あたり13000回の 注文:注文のジョン・光雲
合計金額: 2010年10月2日説明:機械販売注文金額:12000
注文番号:2発注日:20/2/2010説明:部品発注量:1000
'Salesman'クラスの完全なリストを提供してください。 –
注:コンストラクタ引数は' orders'という名前ですが、 'orders'と呼ばれます。このコードは明らかにコンパイルされません。 – pstanton