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

时间:2016-07-28 22:05:17

标签: java arrays multidimensional-array dimensional

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

这只是我在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]);

1 个答案:

答案 0 :(得分:0)

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

...
System.out.println(a.y[row][column]);

此外,您需要在使用之前创建y数组:

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

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