Java 使用ArrayList.get()API通过其索引值访问单个元素时发生越界错误?
我想打印用户输入的房间号,但是我收到一个越界错误。问题是什么?使用get4索引4处的值,应该返回roomNumber 除非您添加了其他房间对象,否则在该代码中,roomArray似乎只有一个用此创建的房间对象—新的Roombed、kitchen、accessible、coffee、roomNumber 如果您尝试roomArray.get0,您可能会得到您想要的房间,但是您需要一个访问器方法来获取roomNumber 基本上在你的房间课上: 然后在您的呼叫代码中,您可以通过以下方式访问:Java 使用ArrayList.get()API通过其索引值访问单个元素时发生越界错误?,java,class,Java,Class,我想打印用户输入的房间号,但是我收到一个越界错误。问题是什么?使用get4索引4处的值,应该返回roomNumber 除非您添加了其他房间对象,否则在该代码中,roomArray似乎只有一个用此创建的房间对象—新的Roombed、kitchen、accessible、coffee、roomNumber 如果您尝试roomArray.get0,您可能会得到您想要的房间,但是您需要一个访问器方法来获取roomNumber 基本上在你的房间课上: 然后在您的呼叫代码中,您可以通过以下方式访问: pub
public class Room
{
private int roomNum;
//I'm guessing what your constructor looks like based on your code, but I don't know the types
public Room(boolean hasBed, String roomName, boolean isAccessible, boolean hasCoffee, int roomNumber)
{
roomNum = roomNumber;
}
//Here is your accessor method
public int getRoomNumber()
{
return roomNum;
}
}
您确定不是指.get3,索引为零,并且除.get0之外的所有.anything都返回错误。roomArray也是一个listyep,如果我使用roomArray.get0,它会在一行上打印床、厨房、无障碍设备、咖啡和房间号。如何仅为roomNumber创建访问器方法?roomArray也是一个列表我已经更新了我的答案,基本上一旦你从数组中得到你想要的房间,在这个例子中是厨房,你就必须调用你的访问器方法来访问厨房的属性。在我的示例中,我调用了该方法getRoomNumber。
public class Room
{
private int roomNum;
//I'm guessing what your constructor looks like based on your code, but I don't know the types
public Room(boolean hasBed, String roomName, boolean isAccessible, boolean hasCoffee, int roomNumber)
{
roomNum = roomNumber;
}
//Here is your accessor method
public int getRoomNumber()
{
return roomNum;
}
}
System.out.println(roomArray.get(0).getRoomNumber());