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