java中的2d数组用于遍历行

时间:2014-10-23 17:39:30

标签: java arrays 2d

我正在尝试使用以下代码遍历2 d数组行。问题是它转到下一列而不是行中的下一个元素,当我尝试将列放在外面时,由于内部行循环,它会拾取2个元素。有更简单的方法吗?

这是我第一次发帖,我尝试搜索解决方案,但没有找到。任何帮助将不胜感激。 TIA。

for (int rowCount = 1; rowCount < data.length; rowCount++) {


    for (int colIndex = 0; colIndex < data[rowCount].length; colIndex++) {

        String data_parameter;
        data_parameter = data[rowCount][colIndex];

    }

}

LoginID Password    Data1   Data2
login1  mercury test 1  1234
login2  mercury test2   1234

1 个答案:

答案 0 :(得分:0)

只需切换它们就可以了

for (int colIndex = 0; colIndex < data!=null ? data[0].length : -1 ; colIndex++) {
    for (int rowCount = 1; rowCount < data.length; rowCount++) {
        String data_parameter = data[rowCount][colIndex];
    }
}

编辑:

r-&gt; row&amp; c-&gt;列

元素:

r1c1 r1c2 r1c3
r2c1 r2c2 r2c3
r3c1 r3c2 r3c3

代码:

public static void main(String[] args) {
    String [][] val = {{"r1c1", "r1c2", "r1c3"},
            {"r2c1", "r2c2", "r2c3"},
            {"r3c1", "r3c2", "r3c3"}};
    for(int row =0;row <val.length; row++){
        for(int col =0;col <val[0].length; col++){
            System.out.print(val[row][col]+" ");
        }
        System.out.println();
    }
    System.out.println("**NEXT**");
    for(int col =0;col <val[0].length; col++){
        for(int row =0;row <val.length; row++){
            System.out.print(val[row][col]+" ");
        }
        System.out.println();
    }
}

输出:

r1c1 r1c2 r1c3 
r2c1 r2c2 r2c3 
r3c1 r3c2 r3c3 
**NEXT**
r1c1 r2c1 r3c1 
r1c2 r2c2 r3c2 
r1c3 r2c3 r3c3 

选择你想要的!!! :p;)