资源简介
一个java编的 模拟售票系统程序,很经典实用.
代码片段和文件信息
/*
项目:用多线程设计一个模拟火车站售票大厅的工作情形。
问题描述:火车站有许多售票窗口,有些开放,有些不开放。顾客进入火车站售票厅后,到某个售票窗口排队等候,排到了就办理业务,然后离去。如图2.1所示。
*/
/*
*共有五个类:
*SimulateRailwayStation:具体运行主类;
*RailwayStation:火车站售票大厅类
*Agent类:代表火车站售票窗口类;
*Customer类:顾客类;
*List类:存储类
*/
import java.util.Date;
import java.awt.*;
import java.awt.event.*;
public class SimulateRailwayStation extends frame implements ActionListener
{
//预设火车站售票大厅有10个售票窗口
protected static final int NUM_AGANTS=10;
//预设目前正在售票的窗口为6个
protected static final int NUM_INITIAL_AGANTS=6;
//设置每个窗口办理售票业务的时间
protected static final int BUSINESS_DELAY=6000;
//设置有10辆火车的座位可以出售
protected static final int MAX_TRAIN_NUM=10;
//设置每个窗口从一个顾客完成到下一个顾客开始的时间间隔
protected static final int MAX_NO_CUSTOMERS=200;
//定义按钮,手动添加顾客。
private Button addcus=new Button(“添加顾客“);
//定义按钮,模拟顾客自己离开
private Button delcus=new Button(“顾客离去“);
//定义按钮,增加售票窗口
private Button addagent=new Button(“增加售票窗口“);
//定义按钮,关闭售票窗口
private Button delagent=new Button(“关闭售票窗口“);
//10辆火车班次的信息
protected static String[] train_num={“南京->北京46次““南京->上海34次““南京->福州231次““南京->杭州65次““南京->武汉112次““南京->成都77次““南京->天津21次““南京->徐州134次““南京->乌鲁目齐335次““南京->合肥456次“};
//与上面的信息对应的每辆火车的票务信息
protected static int[] tickets={5070505050120601005050};
//实例化火车站售票大厅类
private RailwayStation railwaystation=new RailwayStation();
//建立窗体适配器,能关闭窗口
private class WindowCloser extends WindowAdapter
{
public void windowClosing(WindowEvent we)
{
railwaystation.stop();
System.exit(0);
}
}
//构造方法,完成界面初始化
public SimulateRailwayStation()
{
super(“Simulation RailwayStation“);
//设置面板
Panel buttons=new Panel();
buttons.setLayout(new FlowLayout());
//在面板中添加按钮
buttons.add(addcus);
buttons.add(delcus);
buttons.add(addagent);
buttons.add(delagent);
//对按钮设置监听
addcus.addActionListener(this);
delcus.addActionListener(this);
addagent.addActionListener(this);
delagent.addActionListener(this);
//对窗体适配器设置监听
addWindowListener(new WindowCloser());
setLayout(new BorderLayout());
add(“North“railwaystation);
add(“South“buttons);
setSize(500200);
validate();
pack();
show();
//调用火车站售票大厅类的start()方法,开始售票工作
railwaystation.start();
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==addcus)
{
//新增顾客
railwaystation.generateCustomer();
}
else if(ae.getSource()==delcus)
{
}
else if(ae.getSource()==addagent)
{
//增加售票窗口
railwaystation.addAgent();
}
else if(ae.getSource()==delagent)
{
//关闭服务窗口
railwaystation.retireAgent();
}
}
public static void main(String[] args)
{
SimulateRai
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13889 2006-03-28 09:49 第2章模拟售票系统程序\第2章 模拟售票系统程序\SimulateRailwayStation.java
目录 0 2007-11-15 02:21 第2章模拟售票系统程序\第2章 模拟售票系统程序
目录 0 2007-11-15 02:21 第2章模拟售票系统程序
----------- --------- ---------- ----- ----
13889 3
- 上一篇:基于java语言的浏览器设计与实现
- 下一篇:java网络对战的国际象棋源码
相关资源
- mysql数据处理,java用户登录处理
- 法律咨询信息系统(java+jsp+sqlserver)
- Java快速开发平台源码(renren-fast)
- 锐聘学院QST青软JavaWeb十二个打包
- 3.3.6微信支付JAVA版demo
- javaweb网上购物系统源码(附数据库脚
- javaweb校园宿舍系统(附数据库脚本)
- JavaWeb书城项目(附数据库脚本)
- 基于JAVA_JSP电子书系统(源码+数据库
- Java网络编程知识点总结.xmind
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- jsp讲解
- 基于SSH框架的JavaWeb项目—人员信息管
- javaweb实现的邮件收发系统(附数据库
- Java 仿QQ(附客户端以及服务端源码)
- Java TCP IP Socket
- java定时发送邮件(基于quartz)
- Java Swing开发的《星际争霸》游戏
- java+数据库商品交易管理系统(附数据
- 使用java语言编译一个计算器
- java swing工资管理系统(源码+数据库
- JAVALibrary
- 微信企业号回调模式Java版
- 顺丰丰桥接口开发详细教程源码含下
- Java博客概要设计文档
- 药品进销存管理系统(论文范文_JSP
- 奖学金管理系统java+jsp+mysql
- 毕设参考——基于java酒店管理
- Java写的一个简单的字体更改程序
- java8学习教程之lambda表达式的使用方法
评论
共有 条评论