在 Java 中构造一个锯齿状数组并遇到两个相互矛盾的错误
Constructing a jagged array in Java and hitting two contradictory errors
你好,我是一个菜鸟程序员,我正在使用 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];
}
}
数组是在我 class 中的任何方法之外构建的。
但是,我不断收到一条错误消息,提示编译器在 0 所在的位置需要一个“]”,但是当我擦除 0 时,它会抱怨有一个 "missing identifier."
所以我想知道,"missing identifier," 我的编译器是什么意思,我该如何使锯齿状数组工作。
the declaration is outside of any methods.
那里只有一个声明 - 第一行。三个 赋值 是可执行代码,而不是声明。
class 的声明部分禁止赋值和其他可执行代码。所有可执行语句必须是方法或初始化程序的一部分,即
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]
};
你好,我是一个菜鸟程序员,我正在使用 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];
}
}
数组是在我 class 中的任何方法之外构建的。 但是,我不断收到一条错误消息,提示编译器在 0 所在的位置需要一个“]”,但是当我擦除 0 时,它会抱怨有一个 "missing identifier."
所以我想知道,"missing identifier," 我的编译器是什么意思,我该如何使锯齿状数组工作。
the declaration is outside of any methods.
那里只有一个声明 - 第一行。三个 赋值 是可执行代码,而不是声明。
class 的声明部分禁止赋值和其他可执行代码。所有可执行语句必须是方法或初始化程序的一部分,即
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]
};