我有三个类是Guest,Class和Fileprocessing。我必须选择合适的 RoomType 和最小的房间。例如Guest A [NOR,VIP]要预订的房型是NOR,如果我们不再是NOR房型,他们会选择VIP房。
在教室里:
public class Room {
private String roomName;
private String roomType;
private int roomNumSeat;
private int status;
}
课堂嘉宾:
public class Guest {
private String guestID;
private String guestName;
private double time;
private int guestNum;
private double bonus;
private ArrayList<String> guestServices= new ArrayList<String>();
private ArrayList<String> guestRoomType= new ArrayList<String>();
private Room room;
private Services services;
}
在类文件处理中:
public class Fileprocessing {
List<Room> resultInit = new ArrayList<Room>();
//List<Services> resultInit1 = new ArrayList<Services>();
List<Guest> resultThue = new ArrayList<Guest>();
List<TenantInformation> resultttkt= new ArrayList<TenantInformation>();
public Fileprocessing(){}
public boolean CheckTypeRoomForGuest() {
for (Guest g: this.resultThue) {
for (Room r : this.resultInit) {
for (String s : g.getGuestRoomType()) {
if (s.equals(r.getRoomType())) {
return true;
}
}
}
}
return false;
}
public List<TenantInformation> roomforGuest() {
for (Guest g: this.resultThue){
int min = Integer.MAX_VALUE;
Room selectedRoom = null;
TenantInformation tt = new TenantInformation();
for (Room r: this.resultInit) {
if((g.getGuestNum()-k.getRoomSeat() < min)&& (CheckTypeRoomForGuest())&& (r.getRoomStatus==0)) {
min = Math.abs(g.getGuestNum() - r.getRoomSeat());
selectedRoom = r;
}
}
tt.setGuestName(g.getGuestName());
tt.setRoomName(selectedRoom.getRoomName());
r.setRoomStatus(Room.ROOM_OCCUPIED);
resultttkt.add(tt);
}
}
为什么我的 CheckTypeRoomForGuest() 方法不循环所有来宾并且始终为真?