Java &引用;错误:需要数组,但找到int";在爪哇
我必须在Java &引用;错误:需要数组,但找到int";在爪哇,java,Java,我必须在tabFinal上合并tab1,tab2,tab3 int[] tab1 = {4,17}; int[] tab2 = {11,12}; int[] tab3 = {5,3}; int[] tabFinal = new int [tab1.length + tab2.length + tab3.length]; 我的问题是,当我尝试显示我的值时,出现了一条错误消息: Main.java:19:错误:需要数组,但int找到System.out.println(tabFinal[i][j
tabFinal
上合并tab1
,tab2
,tab3
int[] tab1 = {4,17};
int[] tab2 = {11,12};
int[] tab3 = {5,3};
int[] tabFinal = new int [tab1.length + tab2.length + tab3.length];
我的问题是,当我尝试显示我的值时,出现了一条错误消息:
Main.java:19:错误:需要数组,但int找到System.out.println(tabFinal[i][j])强>
我不明白问题出在哪里
for(int i=0; i<tabFinal.length; i++){
for(var j=0; j<tabFinal[i].length; j++){
System.out.println(tabFinal[i][j] + " ");
}
}
tabFinal
是一维数组。试图将索引细分为一维数组将产生该问题
简单的解决方法是:使tabFinal
二维
int[][] tabFinal = new int[3][2];
那么你的索引就可以工作了。但是,在打印值之前,请确保实际将值放入数组中,因为您只打印0,而数组中没有值。如果您希望生成的数组是1D,因为tabFinal的定义是1D: 有很多方法可以连接数组。此线程具有广泛的集合:
顺便说一句,你需要一个简单的循环来打印这个数组,而不是一个嵌套的循环。像这样创建和填充你的数组
int[][] tabFinal = new int[3][];
tabFinal[0] = tab1;
tabFinal[1] = tab2;
tabFinal[2] = tab3;
因为
int[]tabFinal
,tabFinal[i]
是一个int
在这个上下文中使用merge是什么意思,你能添加预期的结果吗?是什么让你认为int[]tabFinal
是2d数组(因为你正在尝试tabFinal[i]。length
和tabFinal[i][j]
)?您希望/希望成为tabFinal
的内容是什么?很好,但这并没有告诉我您希望如何合并阵列。tabFinal是一维数组还是二维数组?谢谢,但是我应该在[2][2]上放什么?我可能是打错了。大小应为[3][2]
,三行两列。我认为这是原始海报真正想要的最佳答案,因为他们希望每个响应都有一个1D串联数组输出。@user12669945然后您需要阅读问题的注释,OP需要一个2D数组。非常感谢Joakim,现在一切都好了。
int[][] tabFinal = new int[3][2];
int[][] tabFinal = new int[3][];
tabFinal[0] = tab1;
tabFinal[1] = tab2;
tabFinal[2] = tab3;