2013-02-15 77 views
3

我試圖通過for-loop中的嵌套for-loop遍歷它來打印出2D數組。正在打印格式化數組

char[][] largeArray = {{'&','&','^','#','@','@','@','@','&','*','*','*'}, 
         {'#','&','&','^','@','@','@','@','*','*','*','*'}} 

for (int r = 0; r < 2; r++) 
{ 
    for (int c = 0; c < 12; c++) 
    { 
     System.out.print(largeArray[r][c]); 
    } 
} 

什麼它打印出是一切進行陣列

內的單個線是有辦法來打印該數組的第一行(在第一托架的一切) 然後下一行或下一托架?我不希望第一行和第二行之間有任何額外的空間。所以我真的不能只用System.out.println();

有什麼想法嗎?

回答

6

您需要打印每個行後打印一個換行符:

for(int r = 0; r < 8; r++) 
{ 
    for(int c = 0; c < 12; c++) 
    { 
     System.out.print(largeArray[r][c]); 
    } 
    System.out.println(); // Add this outside the inner loop 
} 

您也可以考慮使用Arrays.toString方法來打印你的陣列,避免使用嵌套的循環是這樣的:

for(int r = 0; r < 2; r++) { 
    System.out.println(Arrays.toString(largeArray[r])); 
} 

此外,爲了進一步使您的代碼看起來不錯,您可以使用增強型for-loop ,而不是舊的循環,以避免像這樣索引數組:

for (char[] arr: largeArray) { 
    System.out.println(Arrays.toString(arr)); 
} 
+0

這肯定有竅門,感謝您的快速響應。當它讓我 – 2013-02-15 22:16:23

+0

@jopizzamaker將接受答案。當然。不客氣:) – 2013-02-15 22:17:43

+0

@jopizzamaker。你現在可以接受答案。 – 2013-02-15 22:32:15