Java图案打印代码运行结果不符合预期,寻求问题排查与解决方案
代码问题说明
- 核心问题是内层循环的计数变量
j仅在程序初始化时赋值一次为5:- 第一次外层循环(i=1)执行时,内层循环会将j从5递减到0,共打印5个星号,内层循环退出时j的值为0
- 后续外层循环i从2到5执行时,j已经是0,无法满足
j >= i的判断条件,所以不会打印任何星号,仅输出空行,最终运行结果和预期倒三角图案不符。
修复方案
每次外层循环开始前,将j重置为初始值5即可,修改后代码如下:
public class pattern_print { public static void main (String args[]){ int i = 1, n = 5; while (i <= n) { int j = n; // 每次进入新的行打印前重置j的初始值 while (j >= i) { System.out.print("*"); j--; } System.out.print("\n"); i++; } } }
运行预期输出
***** **** *** ** *
内容的提问来源于stack exchange,提问作者Râžź Kūmàr
相关产品推荐
相关产品推荐

