Java 单个客户端中的多个产品(arrayList)
我被要求编写一个小型的在线销售应用程序 这在理论上听起来很简单(但对我来说简直是地狱)。我应该有一个arrayList,里面有大约5种产品,然后让客户购买1到5种产品,然后打印销售总额Java 单个客户端中的多个产品(arrayList),java,arraylist,Java,Arraylist,我被要求编写一个小型的在线销售应用程序 这在理论上听起来很简单(但对我来说简直是地狱)。我应该有一个arrayList,里面有大约5种产品,然后让客户购买1到5种产品,然后打印销售总额 public class Product { private String name; private double price; public Product(String name, double price) { this.name = name;
public class Product {
private String name;
private double price;
public Product(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
public String printInfo() {
return "Product: " + name + " Cost: " + price;
}
}
然后我有一个客户机类:
public class Cliente {
private String name;
private int numPedido;
ArrayList<Producto> products = new ArrayList<Producto>();
public void listBuilder() {
Producto shirt = new Producto("Shirt", 30);
Producto tshirt = new Producto("T-Shirt", 40);
Producto sweater = new Producto("Sweater", 50);
}
public Cliente(String name, int numPedido) {
this.name = name;
this.numPedido = numPedido;
}
public Cliente() {
}
public String getName() {
return name;
}
public int getNumPedido() {
return (int) (Math.random() * 100);
}
public void addNewClient() {
name = JOptionPane.showInputDialog("Nombre: ");
}
public String printInfo() {
return "Nombre: " + name;
}
}
您可以将一些
purchaseProduct
方法附加到每个客户端
public void purchaseProduct(Product product) { this.products.add(product); }
然后,您实例化的每个客户机(Client Client=new Client(name,id);
)都可以使用purchaseProduct
方法将产品添加到其购物车中
我假设您正在使用某种用户输入方法(Scanner
)。这样,您就可以读取用户所需的产品
的输入,并相应地使用正确的产品
调用该函数
顺便说一句,listBuilder
函数对我来说没有什么意义(在编辑之后,很难理解Admin
类应该是/代表什么)
编辑:您可能希望创建一个ArrayList
,该列表将附加到您已经拥有的每个客户端。我觉得您很难决定将实际的产品放置在哪里。您应该而不是将它们放在客户机的类中。
你应该考虑谁/在哪里使用它们。可能在main
中,对吗?因此,只要先在那里实例化它们,客户机就可以选择购买哪一个(通过我前面介绍的方法):
首先考虑一下正常情况,分析一下listBuilder的方法应该在哪里,以及如何使用arraylistYeah进行访问,我正在使用JOptionPane来实现这一点。但是,我应该在哪里创建产品阵列列表?我不知道您在哪里创建产品阵列列表,您可以同时添加main
吗?或者以任何方式理解您希望如何使用这些类?哦,“listBuilder”应该是产品的arrayList。我现在没有什么主要内容,只有我刚刚发布的用于正确打印客户端名称的管理类测试。我正在考虑在这个管理类中创建产品的arrayList。不确定这样做是否正确。还是应该在产品类本身中完成?编辑:Admin类应该是某种控制类,在其中完成所有操作,添加客户机及其Cart应该在那里工作。大体上,我只允许执行程序本身。产品是否已修复?你只有三个?还是由用户决定存在哪些产品?是的,产品是固定的。我应该把它们放在arrayList里。顺便说一句,如果我让你很难帮我的话,我很抱歉。哈哈,这是我到目前为止唯一一个令人沮丧的编程时刻。
public void purchaseProduct(Product product) { this.products.add(product); }
client.purchaseProduct(product);