银行管理系统的实现以及思路

本文介绍了如何模拟实现一个银行业务调度系统,包括6个窗口(1-4号普通窗口,5号快速窗口,6号VIP窗口),以及VIP、普通和快速客户。系统通过异步随机生成客户,模拟办理业务过程,并确保不同类型的客户在对应窗口按顺序办理业务。通过代码展示了号码机器类、服务窗口类、号码管理类和窗口类型管理枚举类的实现。
摘要由CSDN通过智能技术生成

银行业务调度系统

模拟实现银行业务调度系统罗技,具体需求如下:
*银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。

*有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)

*异步随机生成各种类型的客户,生成各类型用户的概率比例为:

VIP客户 :普通客户 :快速客户  =  1 :6 :3。


*?客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所

需的时间,快速客户办理业务所需时间为最小值(提示:办理业务的过程可通过线程Sleep的方式模拟)


*各类型客户在其对应窗口按顺序依次办理业务。

*当VIP(6号)窗口和快速业务(5号)窗口没有客户等待办理业务的时候,这两个窗口可以处理普通客

户的业务,而一旦有对应的客户等待办理业务的时候,则优先处理对应客户的业务。

*随机生成客户时间间隔以及业务办理时间最大值和最小值自定,可以设置。

*不要求实现GUI,只考虑系统逻辑实现,可通过Log方式展现程序运行结果。

------------------------------------------------------------------------------------
面向对象的分析与设计
有三种对应类型的客户:VIP客户,普通客户,快速客户,异步随即生成各种类型的客户,各类型客户在

其对应窗口按顺序依次办理业务。

代码实现:
号码机器类

public class NumberMachine {

 private NumberManager commonClient = new NumberManager();
 private NumberManager expressClient = new NumberManager();
 private NumberManager VIPClient = new NumberManager();
 public NumberManager getcommonClient() {
  return commonClient;
 }
 public NumberManager getexpressClient() {
  return expressClient;
 }
 public NumberManager getVIPClient() {
  return VIPClient;
 }
 
 //实现一个单例设计模式
 private NumberMachine(){//封闭该类的new实例化方法
 }
 public static NumberMachine getInstance(){ //创建一个得到对象的方法
  return instance;
 }
 private static NumberMachine instance = new NumberMachine(); // 加了static在虚拟机

开启时就已经开辟了地址准备调用就行了
 
}

 

服务窗口类:
public class ServerWindow {

 private Custom type = Custom.common; //设置叫号类型
 private int WindowId = 1; //初

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值