为了进一步了解我的问题:
我在 Java 教科书中遇到了一个问题,它要求我编写一个名为GroceryList的类,它代表从市场上购买的商品列表,还有另一个名为GroceryItemOrder的类,它代表购买特定商品的请求给定数量(例如:四个单位的橙子)。根据进一步的指示,我将开发一个客户端来测试并打印所有已实现方法的结果。
免责声明:我没有要求任何人为我解决这个问题。我只是想请一位导师澄清我如何根据我的客户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 个,则将给定的项目顺序(按照GroceryListClient访问GroceryItemOrder类时的指示)添加到此列表(不要担心此元素;我可以使用if 语句和空异常来执行此操作)。
每次我在GroceryListClient客户端中指示它这样做时,我希望此方法将商品订单从GroceryItemOrder_test (String name, int quantity, 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) {
}
}
在公共类public GroceryItemOrder_test(String name, int quantity, 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); :
这应该将项目作为“项目”指定的“对象”添加到add(GroceryItemOrder_test item)方法下的数组中。
这些是我无法弄清楚如何执行的条件。如果可能,请提供任何帮助。
不要建议使用ArrayList,因为我还没有做到这一点,并且在进一步的研究中,我认为它不会很容易地用于此目的。