• 大小: 5KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-08
  • 语言: Java
  • 标签: java  经典  

资源简介

一个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


评论

共有 条评论