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

如何使用嵌套For循环打印指定数字图案?

用嵌套For循环打印指定数字图案的解法

嘿,我来帮你搞定这个嵌套循环的图案问题!先咱们把目标图案拆解开看看规律,这样思路就清晰多了:

目标图案:1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3

仔细看的话,这个图案其实是由4个连续的子序列组成的,每个子序列有4个数字:

  • 第1个子序列:从1开始,依次到4 → 1 2 3 4
  • 第2个子序列:从2开始,到4后回到1 → 2 3 4 1
  • 第3个子序列:从3开始,到4后回到1、2 → 3 4 1 2
  • 第4个子序列:从4开始,回到1、2、3 → 4 1 2 3

找到规律就好办了!我们可以用嵌套For循环来实现,外层循环控制每个子序列的起始数字(从1到4),内层循环控制每个子序列里的4个数字。这里既可以用简洁的数学公式,也可以用基础的if条件判断来实现,下面给你两种思路:

解法一:用取模+if条件实现(简洁版)

public class PatternPrint {
    public static void main(String[] args) {
        // 外层循环:控制每个子序列的起始数字(1到4)
        for (int i = 1; i <= 4; i++) {
            // 内层循环:控制每个子序列的4个数字位置
            for (int j = 0; j < 4; j++) {
                // 计算当前数字,超过4后通过取模回到起始
                int num = (i + j - 1) % 4;
                // 取模结果为0时,对应数字4
                if (num == 0) {
                    num = 4;
                }
                // 打印数字加空格
                System.out.print(num + " ");
            }
        }
    }
}

解法二:用基础if判断实现(更直观)

如果觉得取模不好理解,也可以用更直白的条件判断来控制数字循环:

public class PatternPrint {
    public static void main(String[] args) {
        for (int i = 1; i <= 4; i++) {
            for (int j = 1; j <= 4; j++) {
                int num = i + j - 1;
                // 当数字超过4时,减去4回到1开始
                if (num > 4) {
                    num = num - 4;
                }
                System.out.print(num + " ");
            }
        }
    }
}

代码逻辑说明

  1. 外层循环i从1到4,对应4个子序列的起始数字;
  2. 内层循环负责生成每个子序列里的4个数字,通过计算或条件判断,让数字在超过4后自动回到1继续;
  3. 逐个打印数字加空格,最终就能得到你需要的目标图案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:55:46