如何在Java中迭代多维数组? 我对编码是新手,并且正在尝试理解Java中的多维数组。 这是我的密码: stringtwod[][]=新字符串[2][2]; twoD[0][0]=“你好”; twoD[1][0]=“你好”; twoD[1][1]=“是什么”; twoD[2][0]=“你好”; twoD[2][1]=“什么是”; twoD[2][2]=“向上?”; for(int row=0;row

如何在Java中迭代多维数组? 我对编码是新手,并且正在尝试理解Java中的多维数组。 这是我的密码: stringtwod[][]=新字符串[2][2]; twoD[0][0]=“你好”; twoD[1][0]=“你好”; twoD[1][1]=“是什么”; twoD[2][0]=“你好”; twoD[2][1]=“什么是”; twoD[2][2]=“向上?”; for(int row=0;row,java,multidimensional-array,Java,Multidimensional Array,嗨 嗨,什么事 嗨,怎么了 我使用教程打印了以下内容: 嗨 无效的 空的 嗨 什么 空的 嗨 什么 起来 如何防止它打印空值?谢谢。我想你想创建一个锯齿状数组,你也可以这样做 String[][] twoD = { { "Hi" }, { "Hi", "What's" }, { "Hi", "What's", "Up" } }; 然后你可能想在你的循环中print(而不是println) for (int row = 0; row < twoD.length; row++) {

嗨,什么事

嗨,怎么了

我使用教程打印了以下内容: 嗨 无效的 空的

嗨 什么 空的

嗨 什么 起来


如何防止它打印空值?谢谢。我想你想创建一个锯齿状数组,你也可以这样做

String[][] twoD = { { "Hi" }, { "Hi", "What's" }, { "Hi", "What's", "Up" } };
然后你可能想在你的循环中
print
(而不是
println

for (int row = 0; row < twoD.length; row++) {
    for (int col = 0; col < twoD[row].length; col++) {
        System.out.print(twoD[row][col] + " ");
    }
    System.out.println();
}

我想你想创建一个锯齿状数组,你可以这样做

String[][] twoD = { { "Hi" }, { "Hi", "What's" }, { "Hi", "What's", "Up" } };
然后你可能想在你的循环中
print
(而不是
println

for (int row = 0; row < twoD.length; row++) {
    for (int col = 0; col < twoD[row].length; col++) {
        System.out.print(twoD[row][col] + " ");
    }
    System.out.println();
}

另一种解决方法是使用顺序流

    String twoD[][] = new String[3][3]; // not [2][2]

    twoD[0][0] = "Hi";

    twoD[1][0] = "Hi";
    twoD[1][1] = "What's";

    twoD[2][0] = "Hi";
    twoD[2][1] = "What's";
    twoD[2][2] = "Up?";

    System.out.println(Arrays.stream(twoD)
        .map(oneD -> Arrays.stream(oneD)
            .filter(Objects::nonNull)
            .collect(Collectors.joining(" ")))
        .collect(Collectors.joining("\n")));

另一种解决方法是使用顺序流

    String twoD[][] = new String[3][3]; // not [2][2]

    twoD[0][0] = "Hi";

    twoD[1][0] = "Hi";
    twoD[1][1] = "What's";

    twoD[2][0] = "Hi";
    twoD[2][1] = "What's";
    twoD[2][2] = "Up?";

    System.out.println(Arrays.stream(twoD)
        .map(oneD -> Arrays.stream(oneD)
            .filter(Objects::nonNull)
            .collect(Collectors.joining(" ")))
        .collect(Collectors.joining("\n")));