任务描述 某顾客购物详情如下表所示,并享受8折优惠 本任务利用java中不同的数据类型将顾客的购物详情打印出来。
时间: 2024-09-19 11:12:50 浏览: 33
在Java中,处理这样的任务通常会涉及到创建一个类来表示购物详情,包括商品名称、价格和数量,然后使用适当的变量和数据结构来存储这些信息。我们可以定义一个Customer类以及对应的ShoppingDetails类,包含折扣后的总价计算功能。这里是一个简单的示例:
```java
class Product {
String name;
double originalPrice;
public Product(String name, double price) {
this.name = name;
this.originalPrice = price;
}
}
class ShoppingDetails {
private Map<String, Product> products;
public ShoppingDetails() {
products = new HashMap<>();
}
public void addProduct(Product product) {
products.put(product.getName(), product);
}
public double getTotalBeforeDiscount() {
double total = 0;
for (Product product : products.values()) {
total += product.getOriginalPrice();
}
return total;
}
public double getTotalAfterDiscount() {
double totalBeforeDiscount = getTotalBeforeDiscount();
return totalBeforeDiscount * 0.8; // 8折优惠
}
public void printDetails() {
System.out.println("购物详情:");
for (String productName : products.keySet()) {
Product product = products.get(productName);
System.out.printf("%s: 原价 %.2f 元, 折后 %.2f 元%n", productName, product.getOriginalPrice(), product.getTotalAfterDiscount());
}
}
}
public class Main {
public static void main(String[] args) {
Product apple = new Product("苹果", 5.0);
Product banana = new Product("香蕉", 3.0);
ShoppingDetails shopping = new ShoppingDetails();
shopping.addProduct(apple);
shopping.addProduct(banana);
// 应用8折优惠
shopping.printDetails();
}
}
```
在这个例子中,`main`函数中创建了两个产品实例并添加到`ShoppingDetails`对象中,然后调用`printDetails`方法打印出每个商品的原价和打折后的价格。
阅读全文
相关推荐


















