java - length - two dimensional array中文




通過2維數組迭代 (4)

只要改變索引。 我和j ....在循環中,再加上如果你正在處理字符串,你必須使用concat和初始化變量為空強否則你會得到一個異常。

String string="";
for (int i = 0; i<array.length; i++){
    for (int j = 0; j<array[i].length; j++){
        string = string.concat(array[j][i]);
    } 
}
System.out.println(string)

我有一個“連接四板”,我用二維數組(陣列[X] [Y] X = X坐標,Y = Y坐標)模擬。 我必須使用“System.out.println”,所以我必須遍歷行。

我需要一種方法來迭代這種方式[0,0] [1,0] [2,0] [3,0] [0,1] [1,1] [2,1]等

如果我使用正常的程序:

for (int i = 0; i<array.length; i++){
     for (int j = 0; j<array[i].length; j++){
        string += array[i][j];
     } System.out.println(string)

}

它不工作,因為它迭代這種方式[0,0] [0,1] [0,2] [0,3]等

正常的過程保持在x中,並增加y,直到列的結尾,但我需要在y中說,並增加x,直到行的結尾。


只需倒轉索引的順序是這樣的:

for (int j = 0; j<array[0].length; j++){
     for (int i = 0; i<array.length; i++){

因為所有的行都有相同數量的列,所以你可以使用這個條件j <array [0] .lengt in first for condition,因為你正在迭代矩陣


考慮它作為一個數組的數組,這將肯定工作。

int mat[][] = { {10, 20, 30, 40, 50, 60, 70, 80, 90},
                {15, 25, 35, 45},
                {27, 29, 37, 48},
                {32, 33, 39, 50, 51, 89},
              };


    for(int i=0; i<mat.length; i++) {
        for(int j=0; j<mat[i].length; j++) {
            System.out.println("Values at arr["+i+"]["+j+"] is "+mat[i][j]);
        }
    }

 //This is The easiest I can Imagine . 
 // You need to just change the order of Columns and rows , Yours is printing columns X rows and the solution is printing them rows X columns 
for(int rows=0;rows<array.length;rows++){
    for(int columns=0;columns <array[rows].length;columns++){
        System.out.print(array[rows][columns] + "\t" );}
    System.out.println();}




multidimensional-array