繁体   English   中英

我可以使用增强的for循环打印二维数组吗?

[英]Can I use an enhanced for loop to print two dimensional arrays?

我正在学习这些东西,并且习惯于将常规迭代器用于循环。 无论如何,我想知道是否可以打印此简单数组:

    public class enchancedtwodimdemo
{
    public static void main (String[] args)
    {
        String[][] chords = {{"A", "C", "D", "E"},{"Am","Dm"}};
    }    

}

当然。 您可以使用一个增强型for获取“内部” String[] ,然后使用另一个增强型来打印其中的每个String

(我想您打算写String[][] = {{...}} 。)

没有一般的方法可以获取嵌套结构的叶子元素。 但是,如果您只想打印它,则可以看看Arrays.deepToString ,它为您处理了嵌套访问

当然,您可以这样做:

for(String[] str:chords) {
   for(String value:str) {
      //Do anything with 'value' here
   }
}

我还没有编译,但是应该可以。

首先, String[]是一维数组。 二维数组为:

String[][] chords = { { "A", "C", "D", "E" }, { "Am", "Dm" } };

并且您可以使用增强型for循环首先循环通过一维数组( String[] ),然后循环遍历每个String

for (String[] array : chords) {
    for (String string : array) {
        // ...
    }
}

请注意 ,使用增强型for循环时, 必须指定元素的类型

多维数组是数组的数组。 尝试将其添加到您的代码中:

    for (String rows[]: chords) {
        for(String cols: rows) {
            System.out.println(cols+"\t");
        }
            System.out.println();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM