正在打印格式化数组

问题描述:

我试图通过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();

有什么想法吗?

您需要打印每个行后打印一个换行符:

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