私の質問の理解をさらに深めるために:
Javaの教科書で、市場から購入するアイテムのリストを表すGroceryListという名前のクラスと、特定のアイテムの購入要求を表すGroceryItemOrderという名前のクラスを作成するように求められるという問題があります。与えられた量で(例えば:オレンジの4単位)。さらに指示があれば、実装されたすべてのメソッドの結果をテストして印刷するクライアントを開発する予定です。
免責事項:私は誰にも私のためにこの問題をするように頼んでいません。クライアントGroceryListClientからの指示に応じて、 GroceryItemOrderクラスからGroceryListクラスにインスタンスメソッドを実装する方法を明確にするために、メンターを求めているだけです。
GroceryListクラスのコード:
public class GroceryList_test {
public GroceryList_test() {
GroceryItemOrder_test[] GroceryList = new GroceryItemOrder_test[10];
}
public void add(GroceryItemOrder_test item) {
GroceryItemOrder_test[] GroceryList = new GroceryItemOrder_test[10];
GroceryList[1] = item;
System.out.println(GroceryList[1]);
}
/*public double getTotalCost(GroceryItemOrder_test item) {
}*/
}
インスタンスメソッドadd(GroceryItemOrder_test item)の下で:
- リストに含まれるアイテムが10未満の場合、指定されたアイテムの順序(GroceryItemOrderクラスにアクセスするときにGroceryListClientによって指示される)をこのリストに追加します(この要素について心配する必要はありません。ifステートメントとnull例外を使用してこれを行うことができます)。
このメソッドで、 GroceryListClientクライアントで指示するたびに、 GroceryItemOrder_test(文字列名、int数量、double priceperunit)から配列にアイテムの注文を動的にロードする必要があります。これは、後でアクセスして合計コストを計算するためにアクセスされます。以下のTotalCost()インスタンスメソッド。
GroceryItemOrderクラスのコード:
public class GroceryItemOrder_test {
String itemID;
int NumberofItems;
double priceperunit;
public GroceryItemOrder_test(String name, int quantity, double pricePerUnit) {
this.itemID = name;
System.out.println("Item: " + itemID);
this.NumberofItems = quantity;
System.out.println("Quantity: " + NumberofItems);
this.priceperunit = pricePerUnit;
System.out.println("Price per unit: $" + priceperunit);
}
public double getCost() {
return ((NumberofItems * priceperunit) * 100.0) / 100.0;
}
public void setQuantity(int quantity) {
}
}
パブリッククラスの下でpublicGroceryItemOrder_test(String name、int amount、double pricePerUnit):
- 指定された名前のアイテムを指定された数量で購入するためのアイテム注文を作成します。これには、ユニットあたりの指定された価格がかかります。
このメソッドを、 GroceryListクラスのインスタンスメソッドadd(GroceryItemOrder_test item)の配列にロードしたいと思います。
GroceryListClientクライアントからのコード:
public class GroceryListClient {
public static void main(String[] args) {
GroceryList_test addorder = new GroceryList_test();
GroceryItemOrder(addorder);
}
public static void GroceryItemOrder(GroceryList_test addorder) {
GroceryItemOrder_test Oranges = new GroceryItemOrder_test("oranges", 3, 2.46);
System.out.println("Total cost of " + Oranges.itemID + " = $" + Oranges.getCost());
addorder.add(Oranges);
System.out.println();
GroceryItemOrder_test Grapes = new GroceryItemOrder_test("grapes", 15, 0.55);
System.out.println("Total cost of " + Grapes.itemID + " = $" + Grapes.getCost());
addorder.add(Grapes);
}
}
メソッドGroceryItemOrder(GroceryList_test addorder)の下で:
GroceryItemOrder_test Oranges = new GroceryItemOrder_test("oranges", 3, 2.46);
System.out.println("Total cost of " + Oranges.itemID + " = $" + Oranges.getCost());
addorder.add(Oranges);
具体的には、ステートメントaddorder.add(Oranges); :
これにより、アイテムを「item」で指定された「オブジェクト」として、add(GroceryItemOrder_test item)メソッドの下の配列に追加する必要があります。
これらは私が実行する方法を理解できない条件です。できれば助けてください。
私はまだこれに到達していないので、 ArrayListを提案しないでください。さらに調査すると、この目的では簡単に機能しないと思います。