-3

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

这只是我在 Java 课程中从事的一个较大项目的一小部分。大家可能对它很熟悉,我必须使用 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]);
4

1 回答 1

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;)。

于 2016-07-28T22:08:45.380 回答