语境:
所以基本上我有一个Map包含名称的类和另一个名为 的类Room。Room包含一个 int 表示门的数量,以及一个名为 的类Door。Door包含一个表示门位置的字符,可以是 N(orth)、E(ast)、S(outh)、W(est)。
问题:
这就是我设置Room班级的方式:
public class Room {
int doors;
Door door;
public Room(int doors, Door door) {
this.doors = doors;
this.door = door;
}
}
Run Code Online (Sandbox Code Playgroud)
但这样我只能给它一扇门,而且我需要能够分配相当于 int 门值的门数量。有任何想法吗?
只是您必须使用可以包含多个门的数组或列表
public class Room {
Door doors[];
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您在创建房间对象时不确定门的数量,则可以创建一个数组列表,因为数组的大小是固定的。
public class Room {
List<Door> doors = new ArrayList<Door>();
}
Run Code Online (Sandbox Code Playgroud)
如果您使用数组,您可以使用构造函数像这样初始化门对象
public Room(int num) {
this.doors = new Door[num];
Arrays.fill(this.doors,new Door());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |