• 大小: 159KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2022-02-02
  • 语言: Java
  • 标签: java  

资源简介

模拟电梯调度:利用JAVA语言编写一个模拟电梯调度程序,要求电梯除最底层、最高层以外每一层外面都有一个上下按钮(第1层只有向上按钮,第6层只有向下按钮),电梯层数为6层,电梯内部有1——6数字按钮和开门按钮,到达目的层电梯门开时会有响铃提示,在电梯停留层按本层的数字按钮无效,电梯启动需要设计一个电源按钮,可以控制电梯的运行与否,具体电梯的调度问题跟现实中大家所了解的基本一致。

资源截图

代码片段和文件信息

import java.io.*;
import java.net.*;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
///////////////////////////////////////////////////////////////////////////////////王芹
class Ring//电梯到达时的铃声
{
Ring(){}
public void sound()
{
try
{
File file=new File(“lift.wav“);
URL url=file.toURL();
AudioClip clip=applet.newAudioClip(url);
clip.play();
}catch (Exception e) {}
}
}
///////////////////////////////////////////////////////////////////////////////////汤美玲
class ladderButton implements ActionListener
{
Button buttonUp[]buttonDown[];//电梯的上下按钮
Button buttonNum[];//电梯内的数字按钮
Label label[];//标记楼层号
Button buttonopen;//电梯的开门按钮
Button buttonpower;//电梯的电源按钮
private int floor=1;                   //电梯所在楼层数
private int statusUp[]=new int[6];    
private int statusDown[]=new int[6];               //记录电梯上或下的状态,1上,-1下,0无任务
private int floorUp[]=new int[6];                              //记录电梯要到的楼数
private int floorDown[]=new int[6];
private int upOrDown=0;                             //电梯的及时状态,即上或下
private int openorclose=0;                 //记录电梯门的状态,1开,0关
private int onoroff=0;                  //记录电源开关的状态,1开,0关
ladderButton(frame f)
{
label=new Label[6];              //楼层号标记
buttonUp=new Button[6];                 //电梯向上按钮
buttonDown=new Button[6];              //电梯向下按钮
buttonNum=new Button[6];                       //电梯里面的数字按钮
buttonopen=new Button(“《》“);           //电梯的开门按钮
        buttonpower=new Button(“power“);     //电梯的电源按钮
for(int i=0;i<6;i++)//初始化
{
statusUp[i]=0;
statusDown[i]=0;
floorUp[i]=0;
floorDown[i]=0;
}
        Font font=new Font(“宋体“Font.BOLD10);          //设置字体
Font fontl=new Font(“宋体“Font.BOLD26);
for(int i=0;i<6;i++)
{
if(i!=5)   //无buttonUp[5]
{
buttonUp[i]=new Button(“▲“);                 //向上按钮
buttonUp[i].setFont(font);
buttonUp[i].setBackground(Color.LIGHT_GRAY);
buttonUp[i].setBounds(35710-i*1201515);
f.add(buttonUp[i]);
buttonUp[i].addActionListener(this); 
}
if(i!=0)   //无buttonDown[0]
{
buttonDown[i]=new Button(“▼“);                //向下按钮
buttonDown[i].setFont(font);
buttonDown[i].setBackground(Color.LIGHT_GRAY);
buttonDown[i].setBounds(35725-i*1201515);
f.add(buttonDown[i]);     
buttonDown[i].addActionListener(this); 
}
label[i]=new Label(““+(i+1));//楼层号标记
label[i].setFont(fontl);
label[i].setBounds(5710-i*1203030);
f.add(label[i]);
}
for(int i=0;i<3;i++)
{
buttonNum[i]=new Button(““+(i+1));              //数字按钮
buttonNum[i].setBackground(Color.LIGHT_GRAY);
buttonNum[i].setBounds(170430-i*252525);
f.add(buttonNum[i]);     
buttonNum[i].addActionListener(this); 
}        
for(int i=3;i<6;i++)
{
buttonNum[i]=new Button(““+(i+1));              //数字按钮
buttonNum[i].setBackground(Color.LIGHT_GRAY);
buttonNum[i].setBounds(195

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     360044  2009-06-26 10:27  lift.wav

     文件         98  2009-06-30 10:40  说明书.txt

     文件      15519  2009-06-29 16:59  lift.java

----------- ---------  ---------- -----  ----

               375661                    3


评论

共有 条评论