我正在尝试通过在for循环中使用嵌套for循环遍历它来打印出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();
有什么想法吗?
答案 0 :(得分: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循环而不是旧循环来避免像这样索引数组:
for (char[] arr: largeArray) {
System.out.println(Arrays.toString(arr));
}