資源簡介
北航OO課的作業代碼,從電梯到出租車,你想要的都在里面。注釋充足,供有需要的同學參考(切勿抄襲哦~)

代碼片段和文件信息
package?Elevator;
import?java.lang.reflect.Array;
import?java.util.ArrayList;
public?class?ALSSimulator?extends?Simulator{
protected?ArrayList?elevatorButtonRequestList;?//電梯內按鈕存儲請求所用數組
protected?ArrayList?floorButtonRequestList;?//樓層按鈕存儲請求所用數組,共20個,以2個為單位,前一個代表上按鈕,后一個代表下按鈕
public?ALSSimulator(RequestQueue?requestQueue)?{
super(requestQueue);
Request?tempRequest;
floorButtonRequestList?=?new?ArrayList<>();
for?(int?i?=?0;?i?2?*?floors.length;?i++)?{?
tempRequest?=?new?Request(“FR“?0);
floorButtonRequestList.add(null);
}
elevatorButtonRequestList?=?new?ArrayList<>();
for?(int?i?=?0;?i? tempRequest?=?new?Request(“ER“?0);
elevatorButtonRequestList.add(null);
}
}
//遍歷請求隊列檢查當前時間是否有請求有則按下對應按鈕,返回值為獲取到的請求個數
public?int?checkCurrentRequestCount(int?lastRequestIndex)?{
int?currentRequestIndex?=?lastRequestIndex?+?1;
//請求隊列已經讀完
if?(currentRequestIndex?==?this.requestList.size())?{
return?0;
}
Request?currentRequest?=?this.requestList.get(currentRequestIndex);
double?currentRequestTime?=?currentRequest.getRequestTime();
int?targetFloor;
int?loopCount?=?0;
int?tempArg;
while?(currentRequestTime?==?this.time)?{
if?(currentRequest.getType().equals(“ER“))?{?//該請求為ER類請求
targetFloor?=?((ElevatorRequest)currentRequest).getTargetFloor();
if?(this.elevator.pressButton(targetFloor))?{?//按按鈕并判斷是否被按下
currentRequest.setRequestRank(loopCount);?//設置同時間請求的先后次序
this.elevatorButtonRequestList.set(targetFloor?-?1?(ElevatorRequest)currentRequest);?//將請求存入按鈕
}else{
System.out.println(“Request?is?ignored?for?duplication:?“?+?currentRequest);?//輸出因為重復而被忽略的請求
}
}else{?//該請求為FR類請求
targetFloor?=?((FloorRequest)currentRequest).getFloorNumber();
//用tempArg代表上或者下
if?(((FloorRequest)currentRequest).getUpOrDown()?==?1)?{
tempArg?=?0;
}else{
tempArg?=?1;
}
if?((this.floors[targetFloor?-?1].getUpButtonIsPressed()?&&?((FloorRequest)currentRequest).getUpOrDown()?==?1)?||?
(this.floors[targetFloor?-?1].getDownButtonIsPressed()?&&?((FloorRequest)currentRequest).getUpOrDown()?==?-1))?{
System.out.println(“Request?is?ignored?for?duplication:?“?+?currentRequest);?//輸出因為重復而被忽略的請求
}else{
if?(tempArg?==?0)?{
this.floors[targetFloor?-?1].pressUpButton();?//按下向上按鈕
}else{
this.floors[targetFloor?-?1].pressDownButton();?//按下向下按鈕
}
currentRequest.setRequestRank(loopCount);?//設置同時間請求的先后次序
this.floorButtonRequestList.set(2?*?(targetFloor?-?1)?+?tempArg?(FloorRequest)currentRequest);?//將請求存入按鈕
}
}
currentRequestIndex++;
if?(currentRequestIndex?==?this.requestList.size())?{
break;
}
currentRequest?=?(Request)this.requestList.get(currentRequestIndex);
currentRequestTime?=?currentRequest.getRequestTime();
loopCount++;
}
return?(currentRequestIndex?-?lastRequestIndex?-?1);
}
//判斷電梯內是否有同趨勢請求
public?boolean
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-11-22?05:13??Java-Exercise-master\
?????文件???????10244??2017-11-22?05:13??Java-Exercise-master\.DS_Store
?????文件??????????65??2017-11-22?05:13??Java-Exercise-master\.gitattributes
?????文件??????????11??2017-11-22?05:13??Java-Exercise-master\.gitignore
?????目錄???????????0??2017-11-22?05:13??Java-Exercise-master\Elevator3\
?????文件????????6148??2017-11-22?05:13??Java-Exercise-master\Elevator3\.DS_Store
?????文件?????????295??2017-11-22?05:13??Java-Exercise-master\Elevator3\.classpath
?????目錄???????????0??2017-11-22?05:13??Java-Exercise-master\Elevator3\.idea\
?????文件?????????232??2017-11-22?05:13??Java-Exercise-master\Elevator3\.idea\kotlinc.xm
?????文件?????????695??2017-11-22?05:13??Java-Exercise-master\Elevator3\.idea\misc.xm
?????文件?????????258??2017-11-22?05:13??Java-Exercise-master\Elevator3\.idea\modules.xm
?????文件???????17844??2017-11-22?05:13??Java-Exercise-master\Elevator3\.idea\workspace.xm
?????文件?????????368??2017-11-22?05:13??Java-Exercise-master\Elevator3\.project
?????目錄???????????0??2017-11-22?05:13??Java-Exercise-master\Elevator3\.settings\
?????文件?????????587??2017-11-22?05:13??Java-Exercise-master\Elevator3\.settings\org.eclipse.jdt.core.prefs
?????文件?????????437??2017-11-22?05:13??Java-Exercise-master\Elevator3\Elevator3.iml
?????文件??????249320??2017-11-22?05:13??Java-Exercise-master\Elevator3\Readme(UnitTest).docx
?????文件???????76669??2017-11-22?05:13??Java-Exercise-master\Elevator3\Readme.docx
?????目錄???????????0??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\
?????文件????????6148??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\.DS_Store
?????目錄???????????0??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\Elevator\
?????文件????????8287??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\Elevator\ALSSimulator.class
?????文件????????5132??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\Elevator\Elevator.class
?????文件?????????224??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\Elevator\ElevatorInterface.class
?????文件????????1056??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\Elevator\ElevatorRequest.class
?????文件????????1645??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\Elevator\ElevatorTest.class
?????文件????????3012??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\Elevator\ElevatorThread.class
?????文件????????1735??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\Elevator\Floor.class
?????文件????????1452??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\Elevator\FloorRequest.class
?????文件????????5529??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\Elevator\InputHandler.class
?????文件?????????795??2017-11-22?05:13??Java-Exercise-master\Elevator3\bin\Elevator\InputThread.class
............此處省略293個文件信息
- 上一篇:電子書批量搜索軟件
- 下一篇:IEC61850服務端模擬軟件 V1.0
評論
共有 條評論