用java定义一个顾客类,顾客属性自定义,顾客可以购买食品、玩具两类商品、定义方法输出顾客的信息、购买的商品信息、商品总价值。此外,还可以自定义反映商品折扣情况的方法以及折扣应付金额等信息的输出
时间: 2024-05-02 08:16:53 浏览: 68
以下是一个简单的Java顾客类的示例代码,其中包含顾客的属性、购物车、购买商品方法以及输出顾客信息和购买信息的方法:
```java
public class Customer {
// 顾客属性
private String name;
private int age;
private String gender;
private String address;
private double balance;
// 购物车
private ArrayList<Product> cart;
// 构造方法
public Customer(String name, int age, String gender, String address, double balance) {
this.name = name;
this.age = age;
this.gender = gender;
this.address = address;
this.balance = balance;
this.cart = new ArrayList<Product>();
}
// 购买商品方法
public void buy(Product product) {
if (balance >= product.getPrice()) {
balance -= product.getPrice();
cart.add(product);
System.out.println(name + "购买了" + product.getName() + ",价格为" + product.getPrice() + "元。");
} else {
System.out.println(name + "的余额不足,无法购买" + product.getName() + "。");
}
}
// 输出顾客信息和购买信息的方法
public void printInfo() {
System.out.println("顾客信息:");
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
System.out.println("性别:" + gender);
System.out.println("地址:" + address);
System.out.println("余额:" + balance);
System.out.println("购买信息:");
double totalPrice = 0.0;
for (Product product : cart) {
System.out.println("- " + product.getName() + ",价格为" + product.getPrice() + "元。");
totalPrice += product.getPrice();
}
System.out.println("商品总价值为" + totalPrice + "元。");
}
// 自定义反映商品折扣情况的方法以及折扣应付金额等信息的输出
public void printDiscountInfo() {
System.out.println("商品折扣情况:");
for (Product product : cart) {
if (product.getDiscount() > 0) {
double discountPrice = product.getPrice() * (1 - product.getDiscount());
System.out.println("- " + product.getName() + "打" + product.getDiscount() + "折,应付金额为" + discountPrice + "元。");
} else {
System.out.println("- " + product.getName() + "没有折扣。");
}
}
}
}
```
在这个示例代码中,顾客类包含顾客属性(姓名、年龄、性别、地址、余额)、购物车、购买商品方法、输出顾客信息和购买信息的方法以及自定义反映商品折扣情况的方法以及折扣应付金额等信息的输出。
顾客可以通过调用buy方法向购物车中添加商品,如果顾客余额不足则无法购买。调用printInfo方法可以输出顾客的信息和购买信息,包括购买的商品信息和商品总价值。调用printDiscountInfo方法可以输出商品的折扣情况和折扣应付金额等信息。