黑马程序员-银行调度系统

原创 2012年03月25日 18:38:56
---------------------- android培训java培训、期待与您交流! ----------------------

同过银行调度系统,让我认识到做为一个程序员也是要好好体验生活的。

号码发生器:

import java.util.ArrayList;
import java.util.List;




/**
 * 号码发生器
 * @author 李见黎
 *2012-3-25
 */


public class NumberManager {


private int lastNumber=1;
private List<Integer> queueList=new ArrayList<Integer>();  //面向接口编程

/**
* 多个涉及到了,就互斥,拆箱和装箱
* @return
*/
public synchronized Integer generateNewManager()
{
queueList.add(lastNumber);  //加入队列
return lastNumber++;
}
/**
* 取号的方法
*/

public Integer fetchServiceNumber()
{
Integer numberInteger=null;
if(queueList.size()>0)
numberInteger = queueList.remove(0);
return numberInteger;
}

}

号码管理器:





/**
 * 号码管理器
 * @author 李见黎
 *2012-3-25
 */
public class NumberMachine {
/**
* 创建三个不同的客户
*/
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();






}


主函数:

import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;


/**
 * 主函数
 * @author 李见黎
 *2012-3-25
 */
public class Main {


/**
* @param 主函数
*/
public static void main(String[] args) {


for(int i=1;i<5;i++)
{
ServiceWin commonWin=new ServiceWin();

commonWin.setWindowID(i);
commonWin.Start();
}

ServiceWin ExpressWin=new ServiceWin();
ExpressWin.setTyper(CustomerTyper.EXPRESS);
ExpressWin.Start();

ServiceWin VIPWin=new ServiceWin();
VIPWin.setTyper(CustomerTyper.VIP);
VIPWin.Start();



Executors.newScheduledThreadPool(1).scheduleAtFixedRate(
new Runnable() {

@Override
public void run() {
Integer numInteger=NumberMachine.getInstance().getCommonManager().generateNewManager();
System.out.println(numInteger+"号普通客户来了");

}
},
0,
Constants.COMMON_CUSTOMER_INTERVAL_TIME, 
TimeUnit.SECONDS);

Executors.newScheduledThreadPool(1).scheduleAtFixedRate(
new Runnable() {

@Override
public void run() {
Integer numInteger=NumberMachine.getInstance().getVipManager().generateNewManager();
System.out.println(numInteger+"号VIP客户来了");
}
},
0,
Constants.COMMON_CUSTOMER_INTERVAL_TIME*6, 
TimeUnit.SECONDS);

Executors.newScheduledThreadPool(1).scheduleAtFixedRate(
new Runnable() {

@Override
public void run() {
Integer numInteger=NumberMachine.getInstance().getVipManager().generateNewManager();
System.out.println(numInteger+"号快速户来了");
}
},
0,
Constants.COMMON_CUSTOMER_INTERVAL_TIME*2, 
TimeUnit.SECONDS);
}


}

---------------------- android培训java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima

银行业务调度系统的实现

需求:银行业务调度系统模拟实现银行业务调度系统逻辑,具体需求如下: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 有三种对应类型的客户:VIP客户,普通...
  • dlf123321
  • dlf123321
  • 2017-02-22 11:08:21
  • 1881

黑马程序员------张孝祥老师------银行业务调度系统

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------...
  • wowojiajiawowojiajia
  • wowojiajiawowojiajia
  • 2014-06-09 15:31:28
  • 404

Java7K面试题——银行业务调度系统

1.具体需求       模拟实现银行业务调度系统逻辑,具体需求如下: 1.银行内有6个业务窗口,1- 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 2.有三种对应...
  • ayhlay
  • ayhlay
  • 2013-06-17 12:33:45
  • 4104

黑马程序员-----银行调度系统

模拟实现银行业务调度系统逻辑,具体需求如下: Ø 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 Ø 有三种对应类型的客户:VIP客户,普通客户,快速...
  • u012228111
  • u012228111
  • 2013-09-26 20:40:35
  • 324

黑马程序员--银行调度系统

一、项目需求 银行业务调度系统 模拟实现银行业务调度系统逻辑,具体需求如下: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 有三种对应类型的客户:VI...
  • u012634876
  • u012634876
  • 2013-11-19 00:02:41
  • 671

黑马程序员--银行调度系统

----------- ----------- ASP.Net+Android+IOS开发、----------- .Net培训、期待与您交流!">----------- ----------- 黑...
  • u012486389
  • u012486389
  • 2013-11-10 16:22:00
  • 280

黑马程序员_银行调度系统

项目需求 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务...
  • XinTongZuo
  • XinTongZuo
  • 2013-11-02 21:00:27
  • 473

黑马程序员 银行调度系统

模拟实现银行业务调度系统逻辑,具体需求如下: ? 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 ? 有三种对应类型的客户:V...
  • wangtianhao1314
  • wangtianhao1314
  • 2014-06-15 13:03:15
  • 188

黑马程序员---银行调度系统

---------------------- android培训、java培训、期待与您交流! ---------------------- 这个写的和张孝祥老师的出入蛮大 没有张老师那么...
  • Koccu
  • Koccu
  • 2012-07-08 08:52:33
  • 333

"黑马程序员"银行调度系统

到银行办理业务,先到取号机取号,再根据编号等待,到你这个号的时候就去窗口办理业务。取号机界面有三个按扭,分别普通客户,VIP客户,快速办理业务客户。还得有三个号码管理器,分别对普通、快速和VIP客户的...
  • wangcaisheng_
  • wangcaisheng_
  • 2014-06-29 22:29:34
  • 298
收藏助手
不良信息举报
您举报文章:黑马程序员-银行调度系统
举报原因:
原因补充:

(最多只允许输入30个字)