java语言实验第二个应该怎么弄?
是不是应该用for循环语句?
详细计算超市购物小票上的折扣和总金额的Java代码和解析如下,望采纳,有问题可以交流
public class Item {
private String name;
private double price;
private int quantity;
public Item(String name, double price, int quantity) {
this.name = name;
this.price = price;
this.quantity = quantity;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
}
import java.util.ArrayList;
import java.util.List;
public class Receipt {
private List<Item> items;
private double totalAmount;
private double discount;
private double actualAmount;
public Receipt() {
this.items = new ArrayList<>();
this.totalAmount = 0;
this.discount = 0;
this.actualAmount = 0;
}
public void addItem(Item item) {
this.items.add(item);
this.totalAmount += item.getPrice() * item.getQuantity();
}
public void setDiscount(double discount) {
this.discount = discount;
this.actualAmount = this.totalAmount * (1 - discount);
}
public List<Item> getItems() {
return items;
}
public double getTotalAmount() {
return totalAmount;
}
public double getDiscount() {
return discount;
}
public double getActualAmount() {
return actualAmount;
}
}
Receipt receipt = new Receipt();
// 添加商品
receipt.addItem(new Item("苹果", 0.99, 10));
receipt.addItem(new Item("香蕉", 0.59, 20));
receipt.addItem(new Item("橙子", 0.79, 5));
// 设置折扣
receipt.setDiscount(0.1);
// 打印小票
System.out.println("总金额: " + receipt.getTotalAmount());
System.out.println("优惠折扣: " + receipt.getDiscount());
System.out.println("实际金额: " + receipt.getActualAmount());
执行上面的代码后,将输出以下信息:
总金额: 75.6
优惠折扣: 0.1
实际金额: 68.04
你还可以使用循环遍历购物小票中的商品列表,并打印出每件商品的名称、单价和数量等信息:
System.out.println("Item list:");
for (Item item : receipt.getItems()) {
System.out.println(item.getName() + " - " + item.getPrice() + " x " + item.getQuantity());
}
执行上面的代码后,将输出以下信息:
Item list:
苹果 - 0.99 x 10
香蕉 - 0.59 x 20