gpt4 book ai didi

java - 这是聚合的正确用法吗

转载 作者:行者123 更新时间:2023-11-30 07:55:43 25 4
gpt4 key购买 nike

我想模拟收银系统。交易结束后,收据将显示在监视器上。我创建了一个名为 Receipt 的类,它包含有关客户购买的商品、小计和客户姓名的信息。因此,在 Receipt 类中,我创建了一个产品的 ArrayList 和一个买家对象作为实例变量。 toString() 函数将返回一个格式良好的字符串。

我不确定是否应该使用 ArrayList 作为实例变量,也不知道聚合是否是这里的最佳选择。

import java.util.ArrayList;

public class Receipt {
private ArrayList<Product> purchased_products;
private double total_price;
private double total_with_tax;
private Buyer buyer;

public Receipt(Buyer buyer, ArrayList<Product> purchased_products,
double total_price, double total_with_tax) {
this.purchased_products = new ArrayList<>(purchased_products);
this.total_price = total_price;
this.buyer = buyer;
this.total_with_tax = total_with_tax;
}

@Override
public String toString() {
String content = "Receipt: \nConvenience Store\n";
content += "Balance Summary:\n";
for (Product product : purchased_products) {
content += product + "\n";
}
content += String.format("%d Subtotals: $%.2f\nAmount Paid: $%.2f\n", purchased_products.size(), total_price,
total_with_tax);
content += buyer.toString() + "\n";
content += "Thank you for shopping with us. Have a wonderful day!\n";
return content;
}

}

最佳答案

一切看起来都很好,而且你几乎做得正确。

构造函数中的一个小修正是您不需要再次拥有新的数组列表。

只是

 this.purchased_products = purchased_products;

够了。

关于java - 这是聚合的正确用法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32709740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com