gpt4 book ai didi

java - 通过文本字段修改数组列表

转载 作者:行者123 更新时间:2023-11-30 04:55:52 24 4
gpt4 key购买 nike

我目前有一个类Room和一个类Hostel其中包含 rooms = new ArrayList < Room >(); 。然后我有一个BookRoomGUI类(class)。

当一个房间添加到数组列表中时,它使用以下构造函数:

public Room(int newRoomNo, boolean newRoomEnSuite)
{
roomNo = newRoomNo;
roomEnSuite = newRoomEnSuite;
roomBooking = "Free";
roomNights = 0;
roomBooker = "No Booker";
}

BookRoomGUI我的类有以下 JTextFields:

    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();BookRoomGUI中的文本字段中获取文本并将RoomBooker设置为Room但这不起作用,我看到

setRoomBooker() in Room cannot be applied to (java.lang.String)

最佳答案

确保您在 Room 中有以下方法:

public void setRoomBooker(String roomBooker) {
this.roomBooker = roomBooker;
}

现在,如果您查看错误消息:

setRoomBooker() in Room cannot be applied to (java.lang.String)

您可以看到您的 setRoomBooker() 方法当前未定义为采用 java.lang.String 类型的参数(或任何参数)。

因此,您需要更改该方法的定义,以便能够执行以下操作:

room.setRoomBooker(bookRoom.booker); //<-- You are passing it an argument of type String

关于java - 通过文本字段修改数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8576915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com