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

Java实现带!!符号的倒金字塔图案 现有代码输出异常如何调整

问题原因

你当前代码的问题出在中间!!的打印逻辑,嵌套两层循环后输出的!!组数是等差数列求和结果,不符合每行递减2组的预期,自然会出现前几行多输出!!的问题。

解决方案

把中间打印!!的两层循环替换为单层循环,控制每组的输出数量即可,修改后的完整代码如下:

public static void main(String[] args) {
    //input可自定义,比如4、6、8、43等
    int input = 6; // 填6即可匹配你给出的示例图案
    for (int i = 0; i < input; i++){

        //左侧斜杠
        for (int j = 1; j <= i; j++ ){
            System.out.print("\\\\");
        }
        //修改后的!!打印逻辑
        int exclamationGroupCount = 2 * (input - i) - 1;
        for (int k = 0; k < exclamationGroupCount; k++) {
            System.out.print("!!");
        }

        //右侧斜杠 
        for (int j = 1; j <= i; j++ ){
            System.out.print("//");
        }
        //换行
        System.out.println();
    }
}

如果你使用的是Java 11及以上版本,还可以用String.repeat简化代码,逻辑完全一致:

public static void main(String[] args) {
    int input = 6;
    for (int i = 0; i < input; i++){
        System.out.print("\\\\".repeat(i));
        System.out.print("!!".repeat(2 * (input - i) - 1));
        System.out.print("//".repeat(i));
        System.out.println();
    }
}

验证效果

当input=6时,运行代码输出结果和你给出的倒金字塔图案完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:36:04