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