我有两个班级是房间和客人,我需要计算房间预订的客人数量以找到合适的房间。例如:guest A 预订 5 人 (guestnum) 但我们有三个房间:A1001 2 人 (roomSeat)、A1002 6 人 (roomSeat) 和 A1003 8 人 (roomSeat)。我们计算如下:|5-2|=3;|5-6|=1; |5-8|=3 => 我们选择房间 A1002,因为它收到了最小值。
在类文件处理中:
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 List<TenantInformation> RoomforGuest(){
for (Guest g: this.resultThue){
int min=999999;
TenantInformation tt = new TenantInformation();
for (Room r: this.resultInit){
if(g.getGuestNum()-k.getRoomSeat()<min){
min=Math.abs(g.getGuestNum()-r.getRoomSeat());
tt.setGuestName(g.getGuestName());
tt.setRoomName(r.getRoomName());
r.setRoomStatus(1);
resultttkt.add(tt);
break;
}
}
}
System.out.println(resultttkt);
return resultttkt;
}
但它不会选择价值最小的房间,它只是为了阅读而选择一个房间。