j**a代码银行业务调度系统的简单实现。

仙女?♀️洁 2024-06-05 07:06:26
最佳回答
1首先创建一个类来模拟到银行的客户,我称之为客户模拟器。package com.zyq.bank;import j**a.util.arrayl**t;import j**a.util.l**t;/** * 客户模拟器 * @author zyq *时间:2016年11月25日下午10:44:34 * */public class numbermanager {private int lastnumber=1;l**t<integer> queuenumber=new arrayl**t<integer>();//每次来一个银行客户产生一个新的号码public synchronized integer generatenewnumber(){queuenumber.add(lastnumber);return lastnumber++;}//窗口每次叫到一个客户号就把此号从数组中移除public synchronized integer fetchservicenumber(){integer number=**;if(queuenumber.size()>0){queuenumber.remove(0);return lastnumber;}return number;}}2创建一个类模拟银行职员叫号:我称之为取号器。package com.zyq.bank;/** * 取数模拟 * @author zyq *时间:2016年11月25日下午10:43:41 * */public class numbermachine {//三种客户类别:普通客户 ,快速客户,vip客户private numbermanager commonmanager=new numbermanager();private numbermanager expressmanager=new numbermanager();private numbermanager vipmanager=new numbermanager();public numbermanager getcommonmanager() {return commonmanager;}public numbermanager getexpressmanager() {return expressmanager;}public numbermanager getvipmanager() {return vipmanager;}//单列private numbermachine(){}public static numbermachine getinstance(){return instance;}private static numbermachine instance=new numbermachine(); }3创建一个枚举类,表明三类客户。package com.zyq.bank;/** * * 枚举类 *时间:2016年11月25日下午10:43:16 * */public enum customertype {common,express,vip;public string tostring(){switch(th**){case common:return "普通";case express:return "快速";case vip:return name();}return **;}}4创建一个常量类,方便时间记录。package com.zyq.bank;/** * 常量类 *时间:2016年11月25日下午10:42:03 * */public class constants {public static int min_service_time=1000;public static int max_service_time=10000;public static int common_customer_interview=1;}5新建类模拟银行职员服务:服务窗口。package com.zyq.bank;import j**a.util.random;import j**a.util.concurrent.executors;/** * 服务窗口 * @author zyq *时间:2016年11月25日下午10:46:56 * */public class servicewindow {private customertype type=customertype.common;private int windowid =1;/***** 此处设置set方法而不是有参数的构造方法 方便复用 ********/public void settype(customertype type) {th**.type = type;}public void setwindowid(int windowid) {th**.windowid = windowid;}public void star() {//此处jdk5以后记忆 仅建立一个线程池 获取客户号executors.newsinglethreadexecutor().execute(new runnable() {public void run() {while(true){//亦可以用if 但是没有switvh效率高switch(type){case common:commonservice();break;case express:expressservice();break;case vip:vipservice();break;}}}});}private void commonservice() {string windowname="第"+ windowid +"号"+type+"窗口";system.out.println(windowname+"正在获取普通任务");integer number=numbermachine.getinstance().getcommonmanager().fetchservicenumber();if(number != **){system.out.println(windowname+"正在为"+number+"普通客户服务");long begintime=system.currenttimemill**();int maxrandom=constants.max_service_time-constants.min_service_time;//产生【1000,10000】的随机数 模拟服务的时间long servetime=new random().nextint(maxrandom)+1+constants.min_service_time;try {thread.sleep(servetime);} catch (interruptedexception e) {e.printstacktrace();}//服务消耗的时间long costtime=system.currenttimemill**()-begintime;system.out.println(windowname+"为第"+number+"号普通客户服务"+",耗时"+costtime/1000 +"秒");}else{system.out.println(windowname+"没有取到任务,先休息一下喝口水");try {thread.sleep(1000);} catch (interruptedexception e) {e.printstacktrace();}}}private void expressservice() {integer number=numbermachine.getinstance().getexpressmanager().fetchservicenumber();string windowname="第"+ windowid +"号" +type +"窗口";system.out.println(windowname+"正在获取快速任务");if(number != **){system.out.println(windowname+"正在为"+number+"号"+type+"快速客户服务");long begintime=system.currenttimemill**();//int maxrandom=constants.max_service_time-;//产生【1000,10000】的随机数 模拟服务的时间//long servetime=new random().nextint(maxrandom)+1+constants.min_service_time;try {thread.sleep(constants.min_service_time);} catch (interruptedexception e) {e.printstacktrace();}//服务消耗的时间long costtime=system.currenttimemill**()-begintime;system.out.println(windowname+"为第"+number+"号"+type+"客户服务"+costtime/1000 +"秒");}else{system.out.println(windowname+"没有取到任务,继续为普通客户服务");commonservice();}}private void vipservice() {integer number=numbermachine.getinstance().getcommonmanager().fetchservicenumber();string windowname="第"+ windowid +"号" +type +"窗口";system.out.println(windowname+"正在获取vip任务");if(number != **){system.out.println(windowname+"正在为"+number+"号"+type+"客户服务");long begintime=system.currenttimemill**();int maxrandom=constants.max_service_time-constants.min_service_time;//产生【1000,10000】的随机数 模拟服务的时间long servetime=new random().nextint(maxrandom)+1+constants.min_service_time;try {thread.sleep(servetime);} catch (interruptedexception e) {e.printstacktrace();}//服务消耗的时间long costtime=system.currenttimemill**()-begintime;system.out.println(windowname+"为第"+number+"号"+type+"客户服务"+costtime/1000 +"秒");}else{system.out.println(windowname+"没有取到任务,继续为普通用户服务,就别喝水了");commonservice();}}}end 20210311
汇率兑换计算器

类似问答
  • 为什么有人说期货交易系统越简单越好?简单的交易系统是什么样的?
    • 2024-06-05 16:49:45
    • 提问者: 未知
    期货市场包罗万象,应接不暇,遵守一套复杂的期货系统反而会使自己深深的陷入这个深渊之中,简单的指标和方法,是方便操作的,...而且是最有效的方法,你的交易系统是什么呢...
  • 求简单的c语言编程,银行账户管理系统
    • 2024-06-05 03:44:50
    • 提问者: 未知
    简单的管理系统代码(按照你的要求:输入输出加查找) 优化如下: include include struct bank{ char name[20];char num[20];double money;};int input(struct bank gusts[],int n);void output(struct bank gusts[],int n);void find(struct bank...
  • 基于j**a jsp asp php vb安卓系统毕业设计与实现论文源码下载?
    • 2024-06-05 14:11:40
    • 提问者: 未知
    及时送上了计算机毕业设计相关资源 合意的换请采纳一下,大家顺遍点下赞吧在线考试制卷系统(任务书,论文,源码)net小型证券术语解释及翻译系统的设计与开发(源码,论文)原创vf员工培训管理系统(任务书,论文)asp科研信息管理系统(任务书,开题,论文,源码)android小型企业工资管理系统(源码,论文)asp出租车管理系统(任务书,论文,源码)vb.net实验室计算机的ip地址自动设置程序——服务...
  • win7系统怎么调亮度?
    • 2024-06-05 23:55:06
    • 提问者: 未知
    p>不少用户反映在更新win7系统后,不知道如何给电脑调节亮度,今天以笔记本电脑为例,给大家演示一下如何给电脑调节亮度。div>操作方法...
  • 谁能提供一个j**a做的个人理财系统软件的代码啊?急用!!!!
    • 2024-06-05 06:34:28
    • 提问者: 未知
    可以通过baidu hi告知我们有机会可能完成你所面临的任务相关的要求也可能告知我们es:\\96d03ec8f77a9a40fed6dc56df473e85交易提醒:预付定金是**
  • 谁有一套完整的j**a版p2p网贷系统的源码
    • 2024-06-05 08:03:22
    • 提问者: 未知
    现在基本都是j**a语言开发的,系统是用j**a开发,提供源代码,或及时的维护服务;安全保障措施;系统功能全面,特别是内部控制与会计核算与管理功能,这有许多系统是不具备的;有提前还本付息、逾期计息与结转本金,部分及多次转让等金融功能,这也大部分做不完善;建议你找专业做这项业务的公司比如迪蒙指导等来做,像迪蒙网贷系统就是j**a开发的而且优势也多:j**a通过jdbc来访问数据库,接口比较统一。j*...
  • 求 银行业务管理系统设计
    • 2024-06-05 12:17:40
    • 提问者: 未知
    建议:13.快速输入引用
  • **农业银行上海市外高桥保税区支行的现代化支付系统代码是多少?
    • 2024-06-05 12:47:07
    • 提问者: 未知
    行号:103290075134地区码:2900行名:**农业银行上海市外高桥保税区支行地址:上海市外高桥保税区基隆路6号
  • 为什么有人说期货交易系统越简单越好?简单的交易系统是什么样的?
    • 2024-06-05 06:03:49
    • 提问者: 未知
    期货交易系统简单,是编程程序化,事先设置好的浮动止损止盈,机械操作,实盘多年程序化机械操作,若可以越简单越好,应该市场里参与期货投资人,不会那么多的大部分人是亏损收场,人为盘手操作系统是不是越简单越好,与程序化的简单是截然不同的性质,人有人的各种感受感知,恐惧,担忧,害怕,矛盾,高兴,被所有各种思想所控制,发出行为指令,倘若在投资交易期货中,人为可以做到越简单,不受各种各人的性格,环境,喜怒哀乐所...
  • **建设银行业务代码
    • 2024-06-05 10:08:16
    • 提问者: 未知
    朋友,你们没有dcc的书吗?没有就找上级给份,很容易的
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。