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]);
答案 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;
。