[英]Objected Oriented Programming- How to use the toString() method and format()?
[英]How to format toString() method with "\n"?
我有一个toString()
方法,它返回有关在线订购的信息。 这将返回此人的姓名、此人正在购物的品牌、他们所购买商品的价格、总价以及是否有货。
我的标准是根据有多少人订购以下多个 output:
Amazon: Order #1001
Customer: "Name"
Brand: "Seller"
Price: $"Price in double"
"Name of item"
Total Price: $"Price in double"
我想要这样,如果此人什么都不点,“项目名称”部分就会消失,并且不包括"\n"
。
Output 示例:
Amazon: Order #1002
Customer: Jane Doe
\nBrand: Nike
Price: $0.0
Total Price: $0.0
Amazon: Order #1001
Customer: Jane Doe
Brand: Nike
Price: $94.04
Nike Air Max 97
Total Price: $94.04
Amazon: Order #1001
Customer: Jane Doe
Brand: Nike
Price: $86.90
Nike Revolution 5
Total Price: $180.94
我的 output 执行以下所有操作,除了当此人未订购任何东西时它会创建一个新行。 您可以在下面看到这一点,其中第一个订单在价格和总价之间有一个空格。
我的 output:
Amazon: Order #1002
Customer: Jane Doe
Brand: Nike
Price: $0.0
Total Price: $0.0
Amazon: Order #1001
Customer: Jane Doe
Brand: Nike
Price: $94.04
Nike Air Max 97
Total Price: $94.04
Amazon: Order #1001
Customer: Jane Doe
Brand: Nike
Price: $86.90
Nike Revolution 5
Total Price: $180.94
这是我的toString()
方法:
public String toString() {
String item = "";
for(int i = 0; i < size; i++) {
s += s[i];
if(i < currentNumOrders - 1) {
item += "\n";
}
}
return app + ": Order #" + number + "\nCustomer: " +
name + "\nBrand: " + brand + "\nPrice: $" +
price + "\n" + item + "Total Price: $" + sum;
}
您可以使用三元条件仅在必要时显示\n
:
return app + ": Order #" + number + "\nCustomer: " +
name + "\nBrand: " + brand + "\nPrice: $" +
price + "\n" + (item.length() > 0 ? item + "\n" : "") + "Total Price: $" + sum;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.