// Goods类
class Goods {
private String name;
private int price;
public Goods(String name, int price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
}
// InnerShoppingVoucher类
class InnerShoppingVoucher {
private int value;
public InnerShoppingVoucher(int value) {
this.value = value;
}
public int getValue() {
return value;
}
public void buyGoods(Goods goods) {
System.out.println("购买了商品:" + goods.getName() + ",价格:" + goods.getPrice());
value -= goods.getPrice();
}
}
// SupermarketShop类
class SupermarketShop {
private InnerShoppingVoucher voucher1000;
private InnerShoppingVoucher voucher2000;
private List<Goods> goodsList;
public SupermarketShop() {
voucher1000 = new InnerShoppingVoucher(1000);
voucher2000 = new InnerShoppingVoucher(2000);
goodsList = new ArrayList<>();
}
public void addGoods(Goods goods) {
goodsList.add(goods);
}
public void sellGoods(InnerShoppingVoucher voucher, Goods goods) {
if (goodsList.contains(goods)) {
voucher.buyGoods(goods);
} else {
System.out.println("超市没有该商品:" + goods.getName());
}
}
public void printRemainingAmount() {
System.out.println("1000元购物券剩余金额:" + voucher1000.getValue());
System.out.println("2000元购物券剩余金额:" + voucher2000.getValue());
}
}
// 应用程序
public class Main {
public static void main(String[] args) {
SupermarketShop shop = new SupermarketShop();
Goods goods1 = new Goods("商品1", 500);
Goods goods2 = new Goods("商品2", 1000);
Goods goods3 = new Goods("商品3", 1500);
shop.addGoods(goods1);
shop.addGoods(goods2);
shop.addGoods(goods3);
shop.sellGoods(new InnerShoppingVoucher(1000), goods1);
shop.sellGoods(new InnerShoppingVoucher(2000), goods2);
shop.sellGoods(new InnerShoppingVoucher(2000), goods3);
shop.printRemainingAmount();
}
}