Room と Guest の 2 つのクラスがあります。適切な部屋を見つけるには、部屋で予約したゲストの数を計算する必要があります。例: guest 5 人 (guestnum) の予約ですが、3 つの部屋があります: 2 人 (roomSeat) の A1001、6 人 (roomSeat) の A1002 (roomSeat)、8 人 (roomSeat) の A1003 です。次のように計算しました: |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;
}
ただし、値が最小の部屋を選択するのではなく、読み取るために部屋を選択するだけです。