java - 使用 foreach 打印多维数组

标签 java multidimensional-array foreach

<分区>

如何在 java 中使用 for-each 循环打印多维数组?我试过了,foreach 适用于普通数组但不适用于多维数组,我该怎么做?我的代码是:

class Test
{
   public static void main(String[] args)
   {
      int[][] array1 = {{1, 2, 3, 4}, {5, 6, 7, 8}};
      for(int[] val: array1)
      {
        System.out.print(val);
      }
   } 
}

最佳答案

您的循环将通过打印地址来打印每个子数组。给定内部数组,使用内部循环:

for(int[] arr2: array1)
{
    for(int val: arr2)
        System.out.print(val);
}

数组没有 String 表示,例如打印所有元素。您需要明确打印它们:

int oneD[] = new int[5];
oneD[0] = 7;
// ...

System.out.println(oneD);

输出是一个地址:

[I@148cc8c

但是,库确实提供了方法deepToString为此目的,因此这也可能适合您的目的:

System.out.println(Arrays.deepToString(array1));

关于java - 使用 foreach 打印多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12760765/

相关文章:

java - Android Studio TextViews onClick 都执行相同的操作,我该如何解决?

java - 使用 Aspose 在 Java 中将 pdf 转换为 word 时不显示图表

java - Flutter android 应用程序在签名发布后尝试调试时崩溃

java - 玩家在数组中的移动

javascript - 通过 onclick 事件将 json 编码的多维数组传递给 javascript

java - Double != null 导致 NullPointerException

c# - 将带有 "params"修饰符的 C# 方法转换为 Java

c++ - C++ 中的 for_each()

r - 如何将foreach转换为函数?

javascript - foreach - 显示数据的正确行和列