我似乎无法在我的二维数组上得到正确的输出。
答案应为1 5 9 2 6 10 3 7 11 4 8 12
我得到1 5 9 2 6 10 3 7 11
int intar line必须是那样。
非常感谢任何帮助!
这是我的代码:
public class Assign8
{
public static void main (String args[]){
int intar[][] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
for (int i=0; i<intar.length; i++)
for (int j=0; j<intar.length; j++)
System.out.print(" " + intar[j][i]);
}
}
答案 0 :(得分:2)
intar.length
将是intar中元素的数量 - 在这种情况下,数组的数量,或第j维度中的元素数量。在第i个维度中,您需要遍历intar [j] .length或第j个数组的长度。
这很难做到,因为你不知道在你迭代i时j会是什么。如果你可以假设所有“内部”数组都是相同的长度,你可以这样做:
for (int i=0; i<intar[0].length; i++){
// rest the same
}
答案 1 :(得分:0)
试
for (int i = 0; i < intar.length; i++)
for (int j = 0; j < intar[i].length; j++)
System.out.print(" " + intar[i][j]);
另外,在j之前使用i索引是更好的风格(我确实来到j之前)
答案 2 :(得分:0)
那是因为数组的长度是3,你应该用这种方式改变你的代码
for(int i = 0; i&lt; intar.length; i ++){
for(int j = 0; j&lt; intar [i] .length; j ++)
System.out.print(“”+ intar [i] [j]); }