2013-10-16 36 views
1

键入下面的代码行给我的错误:无法赋值给一个3D字符数组

private char[][][] amino = new char[4][4][4]; 
amino[2][1][3], amino[2][1][1], amino[2][1][0], amino[2][1][2] = 'A'; 
amino[1][2][3], amino[1][2][1], amino[1][2][0], amino[1][2][2] = 'R'; 
amino[0][0][3], amino[0][0][1] = 'N'; 

jGrasp给了我错误说']' expected(我用的IDE)。

在Eclipse中尝试了它,也给了我一个类似的错误。我究竟做错了什么!

+2

如果你想把多个东西放在这样一个赋值的左边,用等号分开,而不是用逗号。 –

+0

有两件事,你可以在方法,构造函数或初始化块之外进行赋值。两个你不能这样做多个赋值...... – MadProgrammer

+0

^你是不是要说“不能做一个方法以外的任务”,因为我在方法之外做这件事。 – user1766889

回答

5

amino[2][1][3], amino[2][1][1],...之间的逗号是不正确的Java语法。试试这个:

amino[2][1][3] = amino[2][1][1] = amino[2][1][0] = amino[2][1][2] = 'A'; 
1

你不能使用这样的变量。

您可以使用多个相同类型的变量声明并向其中添加相同的值。但也有一些限制:

你可以这样做:

int a = 3, b = 5; 

但后来你不能做到这一点:

 a = 1, b = 7; 

例如这个>

private char[][][] amino1, amino2, amino3 = new char[4][4][4]; 

添加到的氨基-3-一个新的4x4x4空阵列和氨基1和氨基2保持未初始化。

+0

然而,这并不给出'a'和'b'值'4' –

+0

我一次尝试过一个字段: > amino [2] [1] [3] ='A' ; 仍给我同样的错误。我开始怀疑java是否支持3D数组... :( – user1766889

+0

@ user1766889所有代码都是* not *某种类型的声明需要在方法体中。 –