我对作业有疑问。我需要创建矩阵,我将放置一些机器人(这不重要,机器人是另一个类,我需要在矩阵中的某些位置放置该类的对象)。问题是矩阵场可以是“水”和“土地”。那么如何在矩阵的相同区域保存有关机器人和“水”或“土地”的信息。
我试试这个:
HashMap[][] field = new HashMap[15][25];
Robot robot[];
Robovil(){
for(int i = 0; i < 15; i++){
for(int j = 0; j < 25; j++){
field[i][j] = new HashMap<String, Object>();
if(j % 2 == 0)
field[i][j].put("land", new Object());
else
field[i][j].put("water", new Object());
}
}
但是我从编译器那里收到了这条消息:
警告:未选中调用将(K,V)作为原始类型的成员 java.util.Map
有没有人有更好的主意?
答案 0 :(得分:0)
或许创建一个名为Land的Enum
并且包含Water和Ground并使用类型为Land
的矩阵,然后为Robot
提供另一个并行矩阵
请参阅:http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
修改:创建一个新类并称之为Tile
。给它两个字段,一个用于Land
,另一个用于Robot
。然后从Tile
s