我正在做一些家庭作业,我不是在寻求如何解决它的帮助。出于某种原因,Eclipse强调了我的部分代码,表明出现了问题;但没有提供像往常一样的建议。我有一段时间没有声明一个多暗的数组,所以虽然我确实谷歌了,但语法却没有。根据我得到的结果,这似乎是正确的。
这是我在谷歌上发现的:
Initialising a multidimensional array in Java
对于本课程,我们使用的方法是感受周围的墙壁,找到一条可以跟随的路径,并在ASCII迷宫中用X标记我们的位置。 #是墙,'。'是路径,'F'是终点。
public class Maze {
static char[][] tmp = new char [12][12];
//First element is Y values (because X and Y lines are perpendicular)
//First ROW (top)
tmp [0][0] = '#';
tmp [1][0] = '#';
tmp [2][0] = '#';
tmp [3][0] = '#';
tmp [4][0] = '#';
tmp [5][0] = '#';
tmp [6][0] = '#';
tmp [7][0] = '#';
tmp [8][0] = '#';
tmp [9][0] = '#';
tmp [10][0] = '#';
tmp [11][0] = '#';
//Second Row
tmp [0][1] = '#';
tmp [1][1] = '.';
tmp [2][1] = '.';
tmp [3][1] = '.';
tmp [4][1] = '#';
tmp [5][1] = '.';
tmp [6][1] = '.';
tmp [7][1] = '.';
tmp [8][1] = '.';
tmp [9][1] = '.';
tmp [10][1] = '.';
tmp [11][1] = '#';
//Third row
tmp [0][2] = '#';
tmp [1][2] = '.';
tmp [2][2] = '.';
tmp [3][2] = '.';
tmp [4][2] = '#';
tmp [5][2] = '.';
tmp [6][2] = '.';
tmp [7][2] = '.';
tmp [8][2] = '.';
tmp [9][2] = '.';
tmp [10][2] = '.';
tmp [11][2] = '#';
//incomplete!
public static void main (String [] args) {
for(int i = 0; i != 12; i++) {
for(int j = 0; j != 12; j++) {
System.out.println(tmp[i][j]);
}
}
}
}
}
请记住,我刚刚开始,我不确定数组元素应该包含在哪里,所以如果顶部实际上在左侧,那就是原因。它现在甚至不会构建,所以我无法测试它!
注意:我会发布Eclipse显示下划线的图片,但我不熟悉Stackoverflow的图像链接/托管。看起来它需要从另一个站点链接;但我真的不想在图片托管网站上为此设置一个帐户,再也不用了!
加下划线的部分是:
第2行(声明tmp的地方)最后,仅在分号下面。
和
声明主方法的行,特别是仅在
下面打开和关闭括号。
答案 0 :(得分:5)
您的分配不在方法,构造函数或初始化块之内。
如果您创建静态初始化程序块static { tmp[0][0] = 'a'; // etc. }
,则代码有效。您也可以将代码放在方法中,并在main方法的开头调用它。