21xrx.com
2025-06-21 03:01:03 Saturday
文章检索 我的文章 写文章
Java实现内部购物券系统:代码案例
2023-06-12 16:19:41 深夜i     20     0
Java 内部购物券 代码案例

随着电商行业的不断发展,内部购物券系统在各个企业中得到了广泛的应用。在这篇文章里,我们将介绍如何使用Java语言实现一个简单的内部购物券系统。

首先,为了方便演示,我们假设业务场景为:某公司在年终奖励中发放了内部购物券,员工可在指定商家进行消费,每张券面值为100元。现在,需要实现一个内部购物券系统,以便员工进行余额查询和消费。

具体实现过程如下:

1. 定义一个名为Coupon的Java类,用于存储内部购物券的相关信息,包括券的编号、所属公司和余额等:

public class Coupon {
  private String id;     // 券的编号
  private String companyName;// 所属公司
  private int balance;    // 券的余额
  public Coupon(String id, String companyName, int balance)
    this.id = id;
    this.companyName = companyName;
    this.balance = balance;
  
  // 余额查询
  public int getBalance()
    return balance;
  
  // 消费
  public void spend(int amount) {
    if (amount <= balance)
      balance -= amount;
     else {
      System.out.println("余额不足");
    }
  }
  // 券的打印
  @Override
  public String toString() {
    return "Coupon{" +
        "id='" + id + '\'' +
        ", companyName='" + companyName + '\'' +
        ", balance=" + balance +
        '}';
  }
}

2. 定义一个CouponManager类,用于管理所有内部购物券的信息,包括发放和兑换等操作:

public class CouponManager {
  private List
  coupons = new ArrayList<>();
 
  // 发放券
  public void grant(Coupon coupon) {
    coupons.add(coupon);
  }
  // 兑换券
  public void redeem(String id, int amount) {
    for (Coupon coupon : coupons) {
      if (coupon.getId().equals(id)) {
        coupon.spend(amount);
        return;
      }
    }
    System.out.println("无效的券编号");
  }
  // 余额查询
  public int getBalance(String id) {
    for (Coupon coupon : coupons) {
      if (coupon.getId().equals(id)) {
        return coupon.getBalance();
      }
    }
    System.out.println("无效的券编号");
    return -1;
  }
  // 打印所有券
  public void printAll() {
    for (Coupon coupon : coupons) {
      System.out.println(coupon.toString());
    }
  }
}

3. 程序入口:CouponMain类,用于演示CouponManager的各个方法:

public class CouponMain {
  public static void main(String[] args) {
    CouponManager manager = new CouponManager();
    // 发放10张券
    for (int i = 1; i <= 10; i++) {
      Coupon coupon = new Coupon("C100" + i, "公司A", 100);
      manager.grant(coupon);
    }
    // 查询余额
    System.out.println("券C1001余额:" + manager.getBalance("C1001"));
    // 兑换券
    manager.redeem("C1001", 50);
    // 再次查询余额
    System.out.println("券C1001余额:" + manager.getBalance("C1001"));
    // 打印所有券
    manager.printAll();
  }
}

代码解释:

- 在CouponMain类中,我们首先通过CouponManager的grant方法发放了10张券,每张券面值均为100元;

- 然后,我们查询了券C1001的余额,并使用redeem方法消费了50元;

- 最后,我们再次查询了券C1001的余额,并使用printAll方法打印了所有券的信息。

3个

  
  

评论区