内部循环不会终止,因为变量正在递减而不是递增

问题描述 投票:0回答:1

嗨,我有一个 Java 代码片段,它尝试使用嵌套循环打印三角形图案。但是,由于内循环问题,程序要么挂起,要么进入无限循环。

public class NestedLoop {
public static void main(String[] args) {
int rows = 5;

for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j-- ) { 
System.out.print("*");
}
System.out.println();
}
}
}

当我运行这段代码时,内部循环永远不会结束,或者程序崩溃。我怀疑问题出在内部 for 循环上,但我不确定如何修复它。

当我运行这个程序时,内部循环似乎进入无限循环或者程序完全停止工作。我怀疑问题出在我在内循环中处理 j 变量的方式,但我不完全确定如何修复它。

我尝试用 j++ 替换 j-- ,但我不确定这是否也是正确的解决方案, 我调整了循环的条件,但没有解决问题。

我例外的输出会是这样的:

*
**
***
****
*****

有人可以帮助我了解出了什么问题以及如何纠正吗?

java loops
1个回答
0
投票

如果您要倒数,您应该从顶部开始倒数到 0 或 1

嗨,我有一个 Java 代码片段,它尝试使用嵌套循环打印三角形图案。但是,由于内循环问题,程序要么挂起,要么进入无限循环。

public class NestedLoop {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
for (int j = i; j >= 1; j-- ) { 
System.out.print("*");
}
System.out.println();
}

如果你想加数,则相反

public class NestedLoop {
public static void main(String[] args) {
int rows = 5;

for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++ ) { 
System.out.print("*");
}
System.out.println();
}
© www.soinside.com 2019 - 2024. All rights reserved.