需要帮助使用嵌套 For 循环来显示文本块 (Java)
Need Help working with Nested For loop to display a block of text (Java)
我需要制作一个如下所示的文本块:
1 1 4
1 2 3
1 3 2
1 4 1
我目前有这个代码:
for (int x = 1; x <= 4; x++) {
for (int y = 4; y >= 1; y--) {
System.out.println("1 " + x + " " + y);
}
System.out.println();
}
但它输出了错误的东西,如
1 1 4
1 1 3
1 1 2
1 1 1
1 2 4
1 2 3
1 2 2
1 2 1
1 3 4
1 3 3
1 3 2
1 3 1
1 4 4
1 4 3
1 4 2
1 4 1
有人可以帮助我吗?它与我的循环语法有关还是与内部有关?加上我是新来的,请不要太苛刻
你的循环逻辑不正确。你有两个循环,每个循环运行 4 次,所以你的循环总共运行 16 次,这不是你想要的。你想要这样的东西。
for (int x = 1; x <= 4; x++) {
int y = 4 - x + 1;
System.out.println("1 " + x + " " + y);
System.out.println();
}
这有点奇怪,但是使用嵌套循环可以做到这一点的一种方法是跳出内部循环,并将 zvxf 具有的逻辑放在内部循环中而不是作为变量:
for (int x = 1; x <= 4; x++) {
for (int y = 5-x; y >= 1; y--) {
System.out.println("1 " + x + " " + y);
break;
}
System.out.println();
}
输出:
1 1 4
1 2 3
1 3 2
1 4 1
每个循环都会继续,直到数字达到 4 或 1,
也许先把逻辑写在素描纸上,我的朋友。 :D
我需要制作一个如下所示的文本块:
1 1 4
1 2 3
1 3 2
1 4 1
我目前有这个代码:
for (int x = 1; x <= 4; x++) {
for (int y = 4; y >= 1; y--) {
System.out.println("1 " + x + " " + y);
}
System.out.println();
}
但它输出了错误的东西,如
1 1 4
1 1 3
1 1 2
1 1 1
1 2 4
1 2 3
1 2 2
1 2 1
1 3 4
1 3 3
1 3 2
1 3 1
1 4 4
1 4 3
1 4 2
1 4 1
有人可以帮助我吗?它与我的循环语法有关还是与内部有关?加上我是新来的,请不要太苛刻
你的循环逻辑不正确。你有两个循环,每个循环运行 4 次,所以你的循环总共运行 16 次,这不是你想要的。你想要这样的东西。
for (int x = 1; x <= 4; x++) {
int y = 4 - x + 1;
System.out.println("1 " + x + " " + y);
System.out.println();
}
这有点奇怪,但是使用嵌套循环可以做到这一点的一种方法是跳出内部循环,并将 zvxf 具有的逻辑放在内部循环中而不是作为变量:
for (int x = 1; x <= 4; x++) {
for (int y = 5-x; y >= 1; y--) {
System.out.println("1 " + x + " " + y);
break;
}
System.out.println();
}
输出:
1 1 4
1 2 3
1 3 2
1 4 1
每个循环都会继续,直到数字达到 4 或 1, 也许先把逻辑写在素描纸上,我的朋友。 :D