You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Java代码无限循环错误并避免程序无限运行?

问题分析与解决

你的代码陷入无限循环的原因是内层for循环的条件和迭代逻辑不匹配:
内层循环for (int j=i; j<=i;j--)中,j初始值为i,每次循环j会减1,而判断条件j<=i永远成立(j只会越来越小,不可能大于i),导致这个循环永远无法终止。

修复后的代码

public class Practice_3 {
   public static void main(String[] args) {
        //Question-1:
                //****
                //***
                //**
                //*
        String str ="*";
        int n =4;
        for(int i=n; i>0; i--){
            // 内层循环从1到i递增,循环i次打印星号
            for (int j=1; j<=i; j++){
                System.out.print(str);
            }
            System.out.print("\n");
        }
    }
}

也可以保留递减逻辑,但修正终止条件:

public class Practice_3 {
   public static void main(String[] args) {
        String str ="*";
        int n =4;
        for(int i=n; i>0; i--){
            // 内层循环从i递减到1,循环i次
            for (int j=i; j>=1; j--){
                System.out.print(str);
            }
            System.out.print("\n");
        }
    }
}

防止无限循环的注意事项

  • 写循环时,确保起始值、终止条件、迭代方向三者匹配:如果是递减迭代(j--),终止条件要让j最终小于起始值;如果是递增迭代(j++),终止条件要让j最终大于起始值。
  • 用小测试值(比如n=2)手动推演循环流程,验证变量变化是否符合预期。
  • 利用IDE断点调试功能,观察循环变量的实时变化,快速定位逻辑错误。

内容的提问来源于stack exchange,提问作者Pragun Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 10:40:55