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

如何用Java递归实现受参数控制的指定+号图案打印?

递归图案打印实现思路与代码

核心规律拆解

观察给出的输出样例可以直接总结出递归结构:

  • 边界条件:当输入n=1时,仅输出1行内容:+
  • 递推关系:任意n>1的输出都由三部分拼接而成:
    1. 先完整输出n-1对应的图案
    2. 输出1行包含n个+的内容
    3. 再完整输出一次n-1对应的图案

代码实现

public class RecursivePattern {
    // 辅助方法:打印k个加号后换行
    private static void printPluses(int k) {
        for (int i = 0; i < k; i++) {
            System.out.print("+");
        }
        System.out.println();
    }

    public static void pattern(int n) {
        // 边界条件
        if (n == 1) {
            printPluses(1);
            return;
        }
        // 先打印n-1的图案
        pattern(n-1);
        // 打印当前n对应的加号行
        printPluses(n);
        // 再打印一次n-1的图案
        pattern(n-1);
    }

    public static void main(String[] args) {
        // 测试样例
        pattern(4);
    }
}

验证说明

  • 调用pattern(2):先输出pattern(1)的1行+,再输出++,再输出pattern(1)的1行+,完全匹配给出的样例
  • 调用pattern(3):先输出pattern(2)的3行内容,再输出+++,再输出pattern(2)的3行内容,和样例完全一致
  • 以此类推,任意大于0的整数n都可以适配,不需要额外的模运算或者分支判断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:27:05