0

我查看了 stackoverflow 的所有内容,并找到了在 Java 中定义多维数组的多个答案。哎呀,我什至回顾了我的一些旧代码,发现了类似的双打示例,但是由于某种原因,在使用这些示例中的代码以及我自己的代码时,我在 Eclipse 和 IntelliJ 中都遇到了如下错误:

以下没有给我上述错误:

public class foo
{
    private int[][] bar()
    {
        int[][] test = new int[10][];
        test[0] = new int[100];
        test[1] = new int[500];
    }  
}

以下给了我上述错误:

public class foo
{
   int[][] test = new int[10][];
   test[0] = new int[100];
   test[1] = new int[500];
}




Syntax error on token ";", { expected after this token (for the first line)
Syntax error on token(s), misplaced construct(s) (for the second line)

我正在使用它来解决 Project Euler 上的问题 28。

4

3 回答 3

1

我猜你把你的代码直接放在一个类中。您需要将它放在类的方法中,如下所示:

public class Snippet {
    public static void main(String[] args) {
        int[][] test = new int[10][];
        test[0] = new int[100];
        test[1] = new int[500];
    }
}

或者您可以使用静态初始化程序:

public class Snippet {
    static int[][] test = new int[10][];
    static {
        test[0] = new int[100];
        test[1] = new int[500];
    }
}
于 2013-08-19T09:17:22.327 回答
0

如果它说“{”是预期的,那么你的错误就在这之前的几行中。

于 2013-08-19T07:59:21.253 回答
0

试试这些声明.. 我不知道我是否明白你的意思。

int[][] test = new int[][]{
 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
 };
 //change zeroes with your values

或者

int[][] test= new int[3][10];
于 2013-08-19T08:13:32.337 回答