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

时间:2014-03-08 17:57:46

标签: java arrays

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

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

}

4 个答案:

答案 0 :(得分:3)

不确定。您可以使用一个enhanced-for来获取“内部”String[],然后使用另一个来打印其中的每个String

(我认为你打算写String[][] = {{...}}。)

没有获取嵌套结构的叶元素的一般方法。但如果您只想打印它,可以查看Arrays.deepToStringhandles that nested access for you

答案 1 :(得分:2)

当然,你可以这样做:

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

我没有编译,但这应该有效。

答案 2 :(得分:0)

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

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

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

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

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

答案 3 :(得分:0)

Muti-Dimentional Array是一个数组数组。尝试将其添加到您的代码中:

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