繁体   English   中英

打印有序的二维数组-单行

[英]Print an Ordered 2D Array - Single Line

我正在尝试编写一个嵌套的for循环,该循环将按特定顺序打印以下代码的值:

public static void main(String[] args) {

    int[][] array2d = new int[3][5];
    for (int i = 0; i < array2d.length; i++) {
        for (int j = 0; j < array2d[0].length; j++) {
            array2d[i][j] = (i * array2d[0].length) + j + 1;
        }
    }

    for (int x = 0; x <= 4; x++) {
        for (int y = 0; y <= 2; y++) {
            System.out.println(array2d[y][x]);
        }
    }
}

}

当前数组以我想要的方式打印,但是每个打印输出都在单独的行上。

我希望输出(单行)是这样的:

1 6 11 2 7 12 3 8 13 4 9 14 5 10 15

谢谢您的帮助。

print替换println ,它应该可以工作

您可以改用System.out.print

System.out.print(array2d[y][x] + " ");
String s = "";
for (int i = 0; i < array2d.length; i++) {
    for (int j = 0; j < array2d[i].length; j++) {
        s += array2d[i][j] + " ";
    }
}
System.out.println(s);
public static void main(String[] args) {
    int[][] array2d = new int[3][5];
    for (int i = 0; i < array2d.length; i++) {
        for (int j = 0; j < array2d[0].length; j++) {
           array2d[i][j] = (i * array2d[0].length) + j + 1;
        }
    }
    StringBuilder builder = new StringBuilder();
    for (int x = 0; x <= 4; x++) {
        for (int y = 0; y <= 2; y++) {
            builder.append(array2d[y][x]);
            if(!(x == 4 && y == 2)){
                builder.append(" ");
            }
        }
    }
    System.out.println(builder.toString());
}

除了更改要printprintln并按所需格式设置字符串格式外,您基本上是正确的。 我做了一些更改以显示StringBuilder工作方式。 只要有可能,我都会使用StringBuilder因为它更方便。

暂无
暂无

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

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