2011-10-04 48 views
-1
int[][][] inputs; 

inputs = new int[10][][]; 

inputs[0] = new int[1][]; 
inputs[0][0] = new int[14]{1,1,-1,-1,-1,1,-1,-1,1,-1,-1,-1,1,1}; 

這是從我的程序摘錄,我不知道爲什麼這是導致錯誤。這不正確嗎?java中的數組錯誤

在此先感謝:-)

+2

你有沒有** **讀取錯誤消息?至少在Eclipse中它很清楚*。即使你不明白它*,你至少應該*在你的問題中發佈*! –

+0

已經嘗試過了,我不得不說'javac'的錯誤信息更加神祕:'error:';' expected'。 –

回答

10

在Eclipse我得到相當明確的錯誤信息:

Cannot define dimension expressions when an array initializer is provided.

這意味着,可以指定尺寸數組初始化(即,值)。你不能同時指定。

簡單地改變你的最後一行

inputs[0][0] = new int[]{1,1,-1,-1,-1,1,-1,-1,1,-1,-1,-1,1,1}; 
5

你不能建造一個聲明的長度和靜態初始化器陣列。它必須是一個或另一個。

更改inputs[0][0] = new int[14]{1,1,-1,-1,-1,1,-1,-1,1,-1,-1,-1,1,1};inputs[0][0] = new int[]{1,1,-1,-1,-1,1,-1,-1,1,-1,-1,-1,1,1}; - 新數組的長度是隱含的,因爲您明確地用14個元素初始化數組。

0

的最後一行應該簡單地:

inputs[0][0] = {1,1, etc.}; 
+1

不,這不起作用。你*需要* new int []'*,除非它是一個初始化器(這只是一個賦值)。 –