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

Java打印正倒双三角形程序第二个三角形右偏原因及修复方法

Bug产生原因
  • 倒三角模块的前缀空格逻辑错误:代码将下一行的前缀空格放在当前行打印完成后输出,循环条件k <= i会导致每次多打印1个空格。倒三角全部打印完成后,最后一次额外输出的空格直接留在正三角首行开头,导致正三角整体初始多了1位缩进。
  • 正三角模块的空格递推逻辑错误:正三角每行星号前的空格需要逐行递减1个,原代码使用步长为2的循环k-=2计算空格数量,不符合对齐要求,进一步加剧偏移问题。
修复方案

仅需要修改两处空格打印的循环逻辑即可:

  1. 倒三角部分的空格循环将判断条件从k <= i改为k < i,消除多余的前置空格
  2. 正三角部分的空格循环修改为步长为1的递减逻辑,保证空格数逐行减1

修复后完整代码

public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    System.out.println("Enter number");
    int num = s.nextInt();
    
    for (int i = 0; i < num; i++) {
        for (int j = num; j > i; j--) {
            System.out.print("*");
            System.out.print(" ");
        }
        System.out.println();
        // 此处修改循环条件
        for (int k = 0; k < i; k++) {
            System.out.print(" ");
        }
    }

    // second part
    for (int i = 0; i < num; i++) {
        for (int j = 0; j <= i; j++) {
            System.out.print("*");
            System.out.print(" ");
        }
        System.out.println();
        // 此处修改空格循环逻辑
        for (int k = num -1; k > i; k--) {
            System.out.print(" ");
        }
    }
}

修复后输出示例(num=3)

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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:15:04