電梯java
⑴ 電梯運作管理系統1:電梯兩部(A和B),內有15個按鈕。 2:大廈共15層,每層樓有上、下按鈕。用java該怎麼設
public class Elevator { //電梯類
private int totalFloors = 0;
private int curFloor = 0; //電梯所在當前的樓層,一共15層
private boolean upButtonPressed = false; //是否按下向上得按鈕
private boolean downButtonPressed = false; //是否按下向下得按鈕
public void setTotalFloors () {
//設置總共多少層
}
//設置當前層的函數
public void setCurFloor (int f) {
{
//這里先判斷輸入的f是否越界(越過1 - 15層)
}
this.curFloor = f;
}
//簡單的寫幾個函數作為參考,其他的要根據你自己的需求逐個添加
}
⑵ java模擬實現兩部電梯同時工作的高效演算法
1. 各電梯控制:
a. 實現一個方法,返回本電梯到請求樓層上、下的時間(或者簡單點的,層數);
b. 任務接受:接受用戶樓層上、下請求任務
2. 主控部分:
a. 當用戶按下上、下請求時,通過調用兩個電梯的上面所說的服務,進行比較決斷最優時間電梯;
b. 給最最優電梯發送任務;
3. 主控與各電梯控制之間的通訊可以通過多種方式實現;
⑶ java模擬電梯運行
你是要代碼,還是?
⑷ 用Java編寫程序,設計一個模擬電梯運行的類
最佳答案代碼如下:
public class ElevatorModel implenent ElevatorModelListener{
ElevatorShaft elevatorShaft;//電梯車箱
Floor firstFloor;
Floor secondFloor;
public void addPerson(Person person);
//實現ElevatorModelListener介面的所有方法
}
public abstract class Location{
String locationName;//可能占據的三個位置firstFloor; secondFloor;elevator中的其中一個位置。
public Button getButton();
public Door getDoor();
}
public class Floor extends Location{
public Floor(String firstFloor,String secondFloor);
public Button getButton();//具體實現
public Door getDoor();//具體實現
public ElevatorShaft getElevatorShaft();
}
public class Door implenent ElevatorMoveListener{
boolean open;//門是開的關的
public void openDoor();//開門
public viod clossDoor();//關門
}
public class Button implenent ElevatorMoveListener{
boolean pressed;
public void pressButton();//按下按鈕
public void resetButton();//釋放按鈕
public void elevatorArrived();//電梯到來
}
public class ElevatorShaft{//電梯乘箱
Elevator elevator;//電梯
Button firstFloorButton,secondFloorButton;//出發層的按鈕和到達層的按鈕 Door firstFloorDoor,secondFloorDoor;//出發的門和到達的門
Light firstFloorLight,secondFloorLight;//燈
//監聽器
DoorListener doorListener;
ButtonListener buttonListener;
LightListener ligthListener;
BellListener bellListener;
ElevatorMoveListener elevatorMoveListener;
Set set;
}
public class Light implenent ElevatorMoveListener{
boolean lightOn;//代表燈的狀態,亮或滅
public void turnOnLight();
public void turnOffLight();
public void elevatorDeparted();//具體實現
public void elevatorArrived();//具體實現
}
public class Bell implenent ElevatorMoveListener{
public void ringBell();
public void elevatorDeparted();//具體實現
public void elevatorArrived();//具體實現
}
public class Elevator extends Location implenets
ButtonListener,DoorListener,BellListener,Runable
{//電梯乘箱
boolean moving;
boolean summoned;//描述Elevator是在移動還是已經補召喚
Floor currentFloor;//當前正在提供服務的Floor
Floor destinationFloor ; //代表將要到達的Floor
Button elevatorButton;
Door elevatorDoor;
Bell bell;
public void run();// 實現
public void requestElevator();//請求Elevator並產生排隊請求。 }
public class Person extends Thread{
Location類對象(或是位於Floor上,或是出處在Elevator中); int ID;
boolean moving;
public void run();//具體實現
public void enterAndRideElevator();
}
⑸ Java版咋樣粘液塊電梯
粘性活塞和黏液塊的擺放,將粘性活塞放在黏液塊的側面和下面,即可推動Java版黏液塊電梯。
⑹ 電梯的工作程序代碼用JAVA語言可以嗎可以的話速求!
java 肯定可以,首先要解決虛擬機,就是電梯程序當中要有虛擬機運行,然後在虛擬機的基礎上編寫java程序去執行。
但是一般直接和硬體交互 一般用PLC
⑺ java 怎樣實現讓電梯空閑超過一定時間自動返回一樓
可以多線程做。
電梯是臨界資源,使用wait(time)進入掛起狀態,超過time之後回到一樓。
如果期間被notify,則執行其他操作。
⑻ JAVA 電梯運行管理程序
public static void main(String[] args) {
/*Lianxi1 lx = new Lianxi1();
lx.method();*/
boolean flag = new Lianxi1().byLift();
if(flag == true){
System.out.println("沒有地下室 開門");
}else
System.out.println("關門");
}
public boolean byLift(){
Random ran = new Random();
int num = Math.abs(ran.nextInt(1000));//總承受的重量
Random ran1 = new Random();
int floor = Math.abs(ran1.nextInt(5));//樓層數 1-5隨機
switch (num){
case 1000:
System.out.println("超重,發出警報 無法關門");
break;
default:
System.out.println("電梯關門");
break;
}
//選擇樓層 1-5返回true 關門
switch (floor) {
case 1:
return true;
case 2:
return true;
case 3:
return true;
case 4:
return true;
case 5:
return true;
default:
return false;
}
}
⑼ 用java編一個電梯(二十樓)小程序怎麼編
這是我回答前幾天和你一樣想要的電梯程序 是單箱的 希望能幫助你 package bean; public class dianti { int on=1;//定義一個初始化樓層 初始化是在1層 //先從簡單的開始 我們先寫兩個方法 一個是在電梯外面方法 一個是在電梯內部的方法 public void wai(int num)//外部方法 { if(num==this.on) { System.out.println("停留在本層 直接開門"); } else if(num>this.on) { Thread th = new Thread(); for(int i=this.on;i<=num;i++) { if(i==num) { System.out.println("電梯到達~開門請進···"); this.on=num; } else { System.out.println("電梯在"+i+"層 馬上就到,請等待····"); try { th.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } else if(num>0&&num<this.on) { System.out.println("進來了" +num+" "+this.on); Thread th1 = new Thread(); for(int u=this.on;u>=num;u--) { if(u==num) { System.out.println("電梯到達~開門請進···"); this.on=num; } else { System.out.println("電梯在"+u+"層 馬上就到,請等待····"); try { th1.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } else { System.out.println("1111111111111"); } } //內部方法 public void nei(int num) { System.out.println("進來了~當前樓層是"+this.on+" 我們的目標是"+num+"層"); if(num==this.on) { System.out.println("您就在本層 開門"); } else if(num>0&&num<11&&num<this.on) { for(int y=this.on;y>=num;y--) { Thread th1 = new Thread(); if(y==num) { System.out.println("電梯到達~歡迎下次在做···"); this.on=num; } else { System.out.println("電梯在"+y+"層 馬上就到,請等待····"); try { th1.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } else if(num>0&&num<11&&num>this.on) { for(int y=this.on;y<=num;y++) { Thread th1 = new Thread(); if(y==num) { System.out.println("電梯到達~歡迎下次在做····"); this.on=num; } else { System.out.println("電梯在"+y+"層 馬上就到,請等待····"); try { th1.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } } public static void main(String[] args) { dianti d = new dianti(); //模擬開始 初始化是1層 首先我們去10層 d.wai(1);//傳進去的1表示我們是在1層按電梯准備上 d.nei(10);//表示電梯到了 我們選擇了10層開始上升 現在電梯停留在10層 d.wai(5);//在電梯還在10層停留的時候 5層有人使用 d.nei(1);//目標是一層 //這個其實不完整 還需要加上很多判斷的 必然經過每層的時候判斷是否有順路下的 //還有就是電梯在上升的時候經過了2層到了3層 此時2層有人按 又該如何 自己試著去想一想解決方法 } }
⑽ 使用java語言如何編寫電梯程序
推薦你使用PLC編電梯程序,PLC能保證不死機.計算機就不能了,人命關天.一但計算機讓電機干擾了,要死人的.