使用foreach打印多维数组 [英] Print multi-dimensional array using foreach

查看:76
本文介绍了使用foreach打印多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How to print multi-dimensional array using for-each loop in java? I tried, foreach works for normal array but not work in multi-dimensional array, how can I do that? My code is:

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);
      }
   } 
}

推荐答案

您的循环将通过打印每个子数组的地址来打印它们.给定该内部数组,请使用一个内部循环:

Your loop will print each of the sub-arrays, by printing their address. Given that inner array, use an inner loop:

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

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

Arrays don't have a String representation that would, e.g. print all the elements. You need to print them explicitly:

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

System.out.println(oneD);

输出是一个地址:

[I@148cc8c

但是,库 do 提供了方法

However, the libs do supply the method deepToString for this purpose, so this may also suit your purposes:

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

这篇关于使用foreach打印多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆