【发布时间】:2013-03-05 20:33:19
【问题描述】:
为了进一步理解我的问题:
我在 Java 教科书中遇到了一个问题,它要求我编写一个名为 GroceryList 的类,该类表示要从市场上购买的物品列表,以及另一个名为GroceryItemOrder 表示购买给定数量的特定商品的请求(例如:四个单位的橙子)。根据进一步的指示,我将开发一个客户端来测试并打印所有已实现方法的结果。
免责声明:我并不是要任何人为我解决这个问题。我只是想请一位导师澄清如何根据我的客户 GroceryListClient。
我的 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 个(不担心这个元素;我可以用 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,因为我还没有做到这一点,经过进一步研究,我认为它不会很容易地用于此目的。
【问题讨论】:
-
你的题名很不清楚,加上题体很长,会妨碍我们给你很好的帮助。您是否可以更简洁地陈述您的问题?
-
您将如何实现来自客户端程序的指令以从一个类构造一个项目(对象)并将其存储在不同类的 10 个对象的单独数组中?客户端会收到指令来创建橙子订单和葡萄订单,然后将这些项目存储到另一个类中的数组中。
标签: java oop instance-method