Eclipse强调我的代码不正确但没有提供建议

时间:2015-10-25 19:40:18

标签: java arrays eclipse multidimensional-array

我正在做一些家庭作业,我不是在寻求如何解决它的帮助。出于某种原因,Eclipse强调了我的部分代码,表明出现了问题;但没有提供像往常一样的建议。我有一段时间没有声明一个多暗的数组,所以虽然我确实谷歌了,但语法却没有。根据我得到的结果,这似乎是正确的。

这是我在谷歌上发现的:

Initialising a multidimensional array in Java

对于本课程,我们使用的方法是感受周围的墙壁,找到一条可以跟随的路径,并在ASCII迷宫中用X标记我们的位置。 #是墙,'。'是路径,'F'是终点。

编辑:在得到答案之后,我想在这里发布语法下划线的内容:Underlining at line 2

Underlining at main() 我的代码:

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的地方)最后,仅在分号下面。

声明主方法的行,特别是仅在

下面

打开和关闭括号。

1 个答案:

答案 0 :(得分:5)

您的分配不在方法,构造函数或初始化块之内。

如果您创建静态初始化程序块static { tmp[0][0] = 'a'; // etc. },则代码有效。您也可以将代码放在方法中,并在main方法的开头调用它。