2011-10-04 81 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 []'*,除非它是一个初始化器(这只是一个赋值)。 –