我目前有一个类Room
和类Hostel
它拥有rooms = new ArrayList <Room>();
。然后我有一个BookRoomGUI
类。修改arraylist通过textfields
当一个房间被添加到它使用下面的构造ArrayList中:
public Room(int newRoomNo, boolean newRoomEnSuite)
{
roomNo = newRoomNo;
roomEnSuite = newRoomEnSuite;
roomBooking = "Free";
roomNights = 0;
roomBooker = "No Booker";
}
在BookRoomGUI
类我有以下JTextField的情况:
fields.add(roomnumberJTextField);
fields.add(bookerJtextField);
fields.add(nightsJTextField);
fields.add(peoplenoJTextField);
我试图让内的方法Hostel
如果房间号匹配,它将采用这些文本字段的值并更改原始构造函数中的相应变量:
public int makeBooking(int number)
{
for (Room room : rooms)
{
if (number == room.getRoomNo())
{
room.setRoomBooker(bookRoom.booker);
}
}
}
我的问题是if语句应该怎么做?目前我使用booker = bookerJtextField.getText();
采取从文本字段中Room
BookRoomGUI
和setRoomBooker但这不起作用,我提出在房
setRoomBooker()不能适用于(java.lang.String中)
这将是更好地存储在一个'号房间 - > Room'地图代替列表。确保你在'Room'类中有'setRoomBooker(String)'方法。 – khachik