遍历数组

looping over an array

你好,我以前使用这段代码逐行循环遍历我的数组,但是我现在想逐列循环,最好的选择是有两个 for 循环, i 和 j 然后追加 [j] [i]?

StringBuffer decryptedText = new StringBuffer();
         for(char [] i : array){
         for (int j = 0; j < i.length; j++) {
         if (i[j] !=0){
             decryptedText.append(i[j]);
         }
         }

        }
         decryptedText.toString();
            System.out.println("\nDecrypted Text:\n" + decryptedText );

这只有在你的数组不乱的情况下才有效

StringBuffer text = new StringBuffer();
int rowLen = array.length;
int colLen = array[0].length;
for(int a=0; a<colLen; a++)
    for(int b=0; b<rowLen; b++)
        if(array[b][a]!=0)
            text.append(array[b][a]);
System.out.println(text.toString());

如评论中所述,for-each 无法帮助您按列访问 multi-dimensional 数组。简单的 for 循环即可完成任务。

Here is an example code snippet

void iterateColumnWise() {
    char data[][] = new char[SIZE][];
    for(int i=0; i<SIZE; i++) {
        for(int j=0; j<data[i].length; j++) {
            System.out.println(data[j][i]);
        }
    }
}

Or You may access a single column data of multi-dimensional array as

void iterateColumnWise(int column) {
    char data[][] = new char[SIZE][];
    for(int i=0; i<SIZE; i++) {
        System.out.println(data[i][column]);
    }
}