Java 如何将对象插入数组?
如何将对象插入数组?这里我有一个名为HotelRoom的类,它包含getter、setter和构造函数方法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
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(房间)