我在2D数组上写一个基本程序,只是定义和初始化。

 1  package testing;
 2
 3  public class Array2 {
 4    int [][] twoDim = new int[4][];
 5    twoDim[0] = new int[]{1,2,3};
 6    System.out.println(twoDim[0][1]) ;
 7  }


但是我在分号的第3行出现错误,说:

Syntax error on token ";", { expected after this token


怎么了?

最佳答案

您需要将代码放入可以执行的位置。 System.out.println是一条执行语句。您可能正在寻找使用main方法。

public class Array2 {
    public static void main(String[] args){
        int [][] twoDim = new int[4][];
        twoDim[0] = new int[]{1,2,3};
        System.out.println(twoDim[0][1]) ;
    }
}


注意:您可以使用以下方法的组合:方法,构造函数,静态初始化程序,类声明等,以使其正确执行。主要方法似乎最适合您要执行的操作。



在“如何使数组成为类变量”的注释中回答您的问题。

您可以将twoDim设为类变量。我将使用Constructor设置数组内的值。在您的main方法中,您将必须创建类的实例,以便可以访问其成员。还要注意,在创建类的实例时会调用构造函数。例如:

public class Array2 {
    public int [][] twoDim = new int[4][];

    public Array2(){ // Constructor for Array2 class
        twoDim[0] = new int[]{1,2,3}; // Set the values
    }

    public static void main(String[] args){
        Array2 array2Instance = new Array2(); // Create an instance, calls constructor
        System.out.println(array2Instance.twoDim[0][1]); // Access the instance's array
    }
}


请注意,必须使twoDim变量public才能在类外部访问它-例如在main方法中。

09-13 03:07