循环遍历数组

时间:2016-01-09 14:20:25

标签: java arrays for-loop append stringbuffer

你好我以前用这个代码逐行遍历我的数组,但是我想现在逐列,最好的选择是有两个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 );

2 个答案:

答案 0 :(得分:0)

这仅适用于您的阵列没有衣衫褴褛的

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());

答案 1 :(得分:0)

正如评论for-each中所提到的那样,当你想要明智地访问你的多维数组时,它不会帮助你。简单的for循环将完成任务。

  

以下是一个示例代码段

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

或者您可以访问多维数组的单列数据

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