Java 我试图简单地打印出一个2D数组。但是我犯了个错误

Java 我试图简单地打印出一个2D数组。但是我犯了个错误,java,arrays,multidimensional-array,dimensional,Java,Arrays,Multidimensional Array,Dimensional,Eclipse告诉我,在下面的最后一行代码中,“表达式的类型必须是数组类型,但它解析为剧院”(我为2D数组创建的对象的类)。特别是在这里-->a[行] 这只是我在Java类中处理的一个较大项目的一小部分。大家可能都很熟悉,我必须使用2D阵列打印并实现剧院座位表。我必须编写按价格搜索、按座位搜索等方法。现在我只是尝试初始化2D数组,在其中输入一些值,然后打印出来。非常感谢您的帮助 public class Theater { //int[][] x = new int[9][10]; int

Eclipse告诉我,在下面的最后一行代码中,“表达式的类型必须是数组类型,但它解析为剧院”(我为2D数组创建的对象的类)。特别是在这里-->a[行]

这只是我在Java类中处理的一个较大项目的一小部分。大家可能都很熟悉,我必须使用2D阵列打印并实现剧院座位表。我必须编写按价格搜索、按座位搜索等方法。现在我只是尝试初始化2D数组,在其中输入一些值,然后打印出来。非常感谢您的帮助

public class Theater {
//int[][] x = new int[9][10];   
int y[][];

    public Theater(){
        //Initialize array
        for (int row = 0; row < 3; row++)
            for (int column = 0; column < 10; column++)
                y[row][column] = 10;
    }

    public static void main(String[] args){
        Theater a = new Theater();

        for(int i = 0; i < 3; i++)
            for (int row = 0; row < 9; row++)
                for (int column = 0; column < 10; column++)
                    System.out.println(a[row][column]);
公共级剧院{
//int[]x=新int[9][10];
int y[][];
公共剧场(){
//初始化数组
对于(int行=0;行<3;行++)
for(int列=0;列<10;列++)
y[行][列]=10;
}
公共静态void main(字符串[]args){
剧院a=新剧院();
对于(int i=0;i<3;i++)
对于(int行=0;行<9;行++)
for(int列=0;列<10;列++)
System.out.println(一行[列]);

需要将
[]
运算符应用于数组表达式。由于
剧院
不是数组,因此会出现编译时错误。您可能希望访问
剧院
实例的
y
字段:

...
System.out.println(a.y[row][column]);
此外,您需要在使用前创建
y
数组:

public Theater(){
    this.y = new int[9][10];
    ...

否则,当试图写入数组时(
y[row][column]=10;
),这将导致
NullPointerException
).

a
不是数组,它只是类型为
Theater
的对象。请确保您也初始化
y
。如果
y
的索引值仍然为
null,则无法将其赋值。这是您想要的。而且,您需要访问数组
y
(因此,
a.y
).谢谢各位。一旦我初始化了y数组并将其设为a.y而不是a.y,我就可以打印了。现在我想知道如何将其循环十次。但这是另一个问题。再次感谢:-)