使用java实现优惠券抵用活动,用户获得了一张20元抵用券,现有5项商品可以使用抵用券。用户只能选择一项进行使用。当用户选择后,用户付钱,并找零
时间: 2024-03-16 22:45:23 浏览: 116
好的,针对您的问题,我来为您解答。首先,我们可以定义一个Coupon类,表示优惠券的相关信息,包括面额和可用商品列表等。然后,我们可以定义一个Product类,表示商品的相关信息,包括名称和价格等。接下来,我们可以定义一个Order类,表示用户的订单,包括所选商品和使用的优惠券等信息。最后,我们可以定义一个Payment类,表示用户的支付信息,包括支付金额和找零等信息。下面是Java代码的示例:
```java
class Coupon {
private int value; // 优惠券面额
private List<Product> products; // 可用商品列表
public Coupon(int value, List<Product> products) {
this.value = value;
this.products = products;
}
public int getValue() {
return value;
}
public List<Product> getProducts() {
return products;
}
}
class Product {
private String name; // 商品名称
private double price; // 商品价格
public Product(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
}
class Order {
private Product product; // 所选商品
private Coupon coupon; // 使用的优惠券
public Order(Product product, Coupon coupon) {
this.product = product;
this.coupon = coupon;
}
public Product getProduct() {
return product;
}
public Coupon getCoupon() {
return coupon;
}
}
class Payment {
private double amount; // 支付金额
private double change; // 找零金额
public Payment(double amount, double change) {
this.amount = amount;
this.change = change;
}
public double getAmount() {
return amount;
}
public double getChange() {
return change;
}
}
public class CouponDemo {
public static void main(String[] args) {
// 初始化商品列表
List<Product> products = new ArrayList<>();
products.add(new Product("商品1", 10.0));
products.add(new Product("商品2", 20.0));
products.add(new Product("商品3", 30.0));
products.add(new Product("商品4", 40.0));
products.add(new Product("商品5", 50.0));
// 初始化优惠券
Coupon coupon = new Coupon(20, products);
// 用户选择商品
Product product = products.get(1);
// 用户使用优惠券
Order order = new Order(product, coupon);
// 用户支付
double amount = product.getPrice() - coupon.getValue();
double change = 50.0 - amount;
Payment payment = new Payment(amount, change);
// 输出支付信息
System.out.println("商品名称:" + product.getName());
System.out.println("商品价格:" + product.getPrice());
System.out.println("优惠券面额:" + coupon.getValue());
System.out.println("支付金额:" + payment.getAmount());
System.out.println("找零金额:" + payment.getChange());
}
}
```
以上是一个简单的Java实现,您可以根据自己的需求进行修改和扩展。希望能对您有所帮助!
阅读全文