Java ArrayList.add:它是如何工作的?
我创建了这个小程序Java ArrayList.add:它是如何工作的?,java,eclipse,arraylist,Java,Eclipse,Arraylist,我创建了这个小程序 public static void main(String[] args) { Person P = new Person("will", "Deverson", "15/06/1987", "Bonifico"); Product PC = new Product("Asus VivoBook", "AVB2562", 799.99); Product ROUTER = new Product("TP-Link X3", "X3-201", 142
public static void main(String[] args) {
Person P = new Person("will", "Deverson", "15/06/1987", "Bonifico");
Product PC = new Product("Asus VivoBook", "AVB2562", 799.99);
Product ROUTER = new Product("TP-Link X3", "X3-201", 142.99);
Product ADAPTER = new Product("Aukey Type-C Adapter", "C-778", 11.20);
ArrayList<Product> listProduct = new ArrayList<Product>();
listProduct.add(PC);
listProduct.add(ROUTER);
listProduct.add(ADAPTER);
//numero elementi nella lista prodotti
int nProducts = listProduct.size();
System.out.println("Il tuo carrello contiene " +nProducts +" elementi: ");
for (Product p : listProduct)
System.out.println("> name: " +p.getName() +" model: " +p.getModel() +" cost: " +p.getCost() +"€.\n");
//calcolo del totale
double total = 0;
for (Product p : listProduct){
total = total + p.getCost();;
}
为什么他还要在名称字段中打印id模型?为什么我要把同一个物体放三次
这是您让我发布的“Product”类:)我认为这是正确的,我唯一的疑问是在变量声明中使用“this”
public class Product {
static String name;
static String model;
static double cost;
public Product(String n, String m, double d) {
name = m;
model = m;
cost = d;
}
public String getName(){
return name;
}
public String getModel(){
return model;
}
public double getCost(){
return cost;
}
}
看起来您的“产品”类有问题 试试这个:
public class Product {
private String name, model;
private Double price;
public Product(String name, String model, Double price) {
this.name = name;
this.model = model;
this.price = price;
}
public String getName() {
return name;
}
public String getModel() {
return model;
}
public Double getCost() {
return price;
}
}
“Main”类看起来不错
以及输出:
Il tuo carrello contiene 3 elementi:
> name: Asus VivoBook model: AVB2562 cost: 799.99€.
> name: TP-Link X3 model: X3-201 cost: 142.99€.
> name: Aukey Type-C Adapter model: C-778 cost: 11.2€.
您可以更改它:
total=total+p.getCost()代码>到此:total+=p.getCost()
这与您编写的内容相同,但更简洁:-]可能是因为Product
的构造函数错误地将name
参数分配给name
和model
字段。您可以在问题中添加Product
类吗?添加产品类哦,产品
课程将会很有趣。如果它曾经被张贴。谢谢你的帮助!我解决了!这都是我在“静态”变量语句中犯的愚蠢错误的错!谢谢你的建议,我不记得那个语法;)@Stefano好吧,当我写这篇文章时,你的问题中还没有类产品:)是的,我知道:)我发现你的解决方案中有我愚蠢的错误:D谢谢!
Il tuo carrello contiene 3 elementi:
> name: Asus VivoBook model: AVB2562 cost: 799.99€.
> name: TP-Link X3 model: X3-201 cost: 142.99€.
> name: Aukey Type-C Adapter model: C-778 cost: 11.2€.