2013-10-16 64 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 *某種類型的聲明需要在方法體中。 –