Java 如何将对象插入数组?

Java 如何将对象插入数组?,java,arrays,Java,Arrays,如何将对象插入数组?这里我有一个名为HotelRoom的类,它包含getter、setter和构造函数方法 public class HotelRoom { int roomNumber; String roomGuest; public HotelRoom (int room, String guest) { roomNumber = room; roomGuest = guest; } public int getRoom() { return roomNum

如何将对象插入数组?这里我有一个名为HotelRoom的类,它包含getter、setter和构造函数方法

public class HotelRoom {

int roomNumber;
String roomGuest;


public HotelRoom (int room, String guest) {
    roomNumber = room;
    roomGuest = guest;
}

public int getRoom() {
    return roomNumber;
}

public void setRoom() {
    roomNumber = room;
}

public String getName() {
    return roomGuest;
}

public void setName() {
    roomGuest = guest;
}
这里是包含数组初始值设定项和对象的主方法。我还将对象插入到数组中,但是在编译时,问题出现在print命令中,它表示:“找不到符号-变量HotelRoom”。我做错了什么

public class Hotel {
    public static void main (String [] args) {
    HotelRoom[] rooms = new HotelRoom [5];

    HotelRoom guest1 = new HotelRoom(67, "Harry");
    HotelRoom guest2 = new HotelRoom(98, "Bob");
    HotelRoom guest3 = new HotelRoom(34, "Steven");
    HotelRoom guest4 = new HotelRoom(99, "Larry");
    HotelRoom guest5 = new HotelRoom(103, "Patrick");

    rooms[0] = guest1;
    rooms[1] = guest2;
    rooms[2] = guest3;
    rooms[3] = guest4;
    rooms[4] = guest5;

    System.out.println (HotelRoom);
}

}这是因为
HotelRoom
是一个类,而不是
对象。如果您打算打印所有房间,或许可以尝试以下方法:

for(final HotelRoom room : rooms)
    System.out.printf("%s in room %d\n", room.getName(), room.getRoom());
或者您可以覆盖
HotelRoom
中的
toString()
方法:

public String toString(){
    return String.format("%s in room %d", roomGuest, roomNumber);
}
public String toString() {
    return roomNumber + " " + roomGuest;
}
使用重写的
toString()
方法,您现在可以将循环修改为:

for(final HotelRoom room : rooms)
   System.out.println(room);
或者,如果您愿意:

System.out.println(Arrays.toString(rooms));

这是因为
HotelRoom
是一个类,而不是
对象
。如果您打算打印所有房间,或许可以尝试以下方法:

for(final HotelRoom room : rooms)
    System.out.printf("%s in room %d\n", room.getName(), room.getRoom());
或者您可以覆盖
HotelRoom
中的
toString()
方法:

public String toString(){
    return String.format("%s in room %d", roomGuest, roomNumber);
}
public String toString() {
    return roomNumber + " " + roomGuest;
}
使用重写的
toString()
方法,您现在可以将循环修改为:

for(final HotelRoom room : rooms)
   System.out.println(room);
或者,如果您愿意:

System.out.println(Arrays.toString(rooms));

HotelRoom是该类的名称。对象现在位于房间阵列中。如果要打印阵列,请尝试打印房间或阵列中的特定位置,例如

System.out.println(rooms[0].getName());

HotelRoom是该类的名称。对象现在位于房间阵列中。如果要打印阵列,请尝试打印房间或阵列中的特定位置,例如

System.out.println(rooms[0].getName());

首先在
酒店房间中执行
toString()

public String toString(){
    return String.format("%s in room %d", roomGuest, roomNumber);
}
public String toString() {
    return roomNumber + " " + roomGuest;
}
然后打印正确的数组:

System.out.println(Arrays.toString(rooms));

首先在
酒店房间中执行
toString()

public String toString(){
    return String.format("%s in room %d", roomGuest, roomNumber);
}
public String toString() {
    return roomNumber + " " + roomGuest;
}
然后打印正确的数组:

System.out.println(Arrays.toString(rooms));

您应该打印
房间
而不是.System.out.println(房间)您应该打印
房间
而不是.System.out.println(房间)