[英]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());
}
除了更改要print
的println
并按所需格式设置字符串格式外,您基本上是正确的。 我做了一些更改以显示StringBuilder
工作方式。 只要有可能,我都会使用StringBuilder
因为它更方便。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.