📄 floor.java
字号:
//package wuxf;
public class Floor {
public int floorNumber=-1;
public boolean upkey;
public boolean downkey;
public Person[] personsOnThisFloor;
public Floor(int floorNumber) {
this.floorNumber=floorNumber;
this.upkey=false;
this.downkey=false;
personsOnThisFloor=new Person[10];
for(int i=0;i<10;i++){
personsOnThisFloor[i]=new Person(-1,-1,-1,0);}
}
public void addANewPerson(int to,int number){
for (int j = 0; j < 10; j++) {
if (personsOnThisFloor[j].status < 0) {
personsOnThisFloor[j].from = floorNumber;
personsOnThisFloor[j].to = to;
personsOnThisFloor[j].status = 0;
personsOnThisFloor[j].num = number;
if(to>this.floorNumber) this.upkey=true;
else this.downkey=true;
break;
}
}
}
public void kickPersons(Elevator el,AllFloors allfloors){
for(int i=0;i<10;i++){
if((personsOnThisFloor[i].status==0)&&
(((el.liftIsEmpty()==true)&&(el.status==1||el.status==0)&&(!allfloors.someoneIsAbove(el.currentFloor)))||
((el.liftIsEmpty()==true)&&(el.status==2||el.status==0)&&(!allfloors.someoneIsBelow(el.currentFloor)))||
((el.liftIsEmpty()==false)&&((allfloors.allFloors[el.currentFloor-1].personsOnThisFloor[i].direction()==el.status)))))
personsOnThisFloor[i].status=-1;}
}
public boolean isEmpty(){
for(int j=0;j<10;j++){
if (personsOnThisFloor[j].status == 0){
return false;}
}
return true;
}
public int numberOfWaiting(){
int i=0;
for(int j=0;j<10;j++){
if (personsOnThisFloor[j].status == 0) {
i++;
}
}
return i;
}
public boolean someoneWantsUp(){
for(int j=0;j<10;j++){
if (personsOnThisFloor[j].status == 0){
if(personsOnThisFloor[j].to>personsOnThisFloor[j].from)
return true;
}
}
return false;
}
public boolean someoneWantsDown(){
for(int j=0;j<10;j++){
if (personsOnThisFloor[j].status == 0){
if(personsOnThisFloor[j].to<personsOnThisFloor[j].from)
return true;}
}
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -