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

Java嵌套循环实现斜菱形图案:空格逻辑问题导致效果不符

解决Java嵌套循环实现斜菱形图案的空格控制问题

你的代码核心问题在于每行的空格数固定为n-1,没有随当前行号动态调整,导致所有星号行完全左对齐,无法呈现斜向的菱形效果。

修正思路

斜菱形需要分为上下两部分实现:

  • 上半部分(共n行):每行空格数随行号递增而递减(n - i),星号数随行号递增而递增(i),形成从左上到右下的斜向延伸。
  • 下半部分(共n-1行):每行空格数随行号递减而递增(n - i),星号数随行号递减而递减(i),补全菱形的下半段。

修正后的代码

public class RhombusPattern {
    public static void rhombus(int n) {
        // 上半部分:从1到n行
        for (int i = 1; i <= n; i++) {
            // 打印空格:数量为n - i
            for (int j = 1; j <= n - i; j++) {
                System.out.print(" ");
            }
            // 打印星号:数量为i
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
        
        // 下半部分:从n-1到1行
        for (int i = n - 1; i >= 1; i--) {
            // 打印空格:数量为n - i
            for (int j = 1; j <= n - i; j++) {
                System.out.print(" ");
            }
            // 打印星号:数量为i
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }

    public static void main(String args[]) {
        rhombus(5);
    }
}

输出效果(n=5时)

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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:05:49