21xrx.com
2024-11-22 09:23:56 Friday
登录
文章检索 我的文章 写文章
Java实现内部购物券系统:代码案例
2023-06-12 16:19:41 深夜i     --     --
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个

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复