你好我是一个noob程序员,我正在使用BlueJ作为我的IDE。 这是我构造数组的代码
public class letters
{
char[][] colors = new char[3][];
colors[0] = new char[3];
colors[1] = new char[9];
colors[2] = new char[3];
public letters()
{
}
public char getCharacter(int x, int y)
{
return this.colors[x][y];
}
}
数组是在我的类中的任何方法之外构造的。 但是,我继续收到一个错误,指出编译器期望0为''',但是当我删除0时,它会抱怨“标识符丢失。”
所以我想知道,我的编译器通过“缺少标识符”意味着什么,以及如何使我的锯齿状数组工作。
答案 0 :(得分:1)
声明不在任何方法之内。
那里只有一个声明 - 第一行。三个分配是可执行代码,而不是声明。
类的声明部分禁止分配和其他可执行代码。所有可执行语句必须是方法或初始化程序的一部分,即
char[][] colors = new char[3][];
{ // Initializer code
colors[0] = new char[3];
colors[1] = new char[9];
colors[2] = new char[3];
}
更好的是,包括声明本身的初始化:
char[][] colors = new char[][] {
new char[3]
, new char[9]
, new char[3]
};