java中的二维数组

时间:2011-04-15 03:11:13

标签: java multidimensional-array

我似乎无法在我的二维数组上得到正确的输出。

答案应为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]);
    }
}

3 个答案:

答案 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]); }