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

Java实现行递增正方形数字图案代码问题求助

正方形数字图案打印问题修复

问题背景

要实现正方形数字图案打印:用while循环,以用户输入的n为边界,行变量i从1到n,每行打印n个对应行号的数字(比如n=4时,第一行1111,第二行2222)。但现有代码输出异常,每个数字单独占一行,无法实现连续显示。

原代码

Scanner s = new Scanner(System.in);
int n = s.nextInt();
int i =1;
while(i<=n){
    int j = 1;
    while(j<=n){
        System.out.println(i);
        j=j+1;
    }
    System.out.println();
    i=i+1;
}

问题根源

System.out.println()方法在输出内容后会自动添加换行符,所以每次打印数字i都会触发换行,导致每个数字单独占一行。

修正代码

import java.util.Scanner;

public class SquareNumberPattern {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();
        int i = 1;
        while (i <= n) {
            int j = 1;
            while (j <= n) {
                // 用print()替代println(),输出后不换行
                System.out.print(i);
                j++;
            }
            // 每行打印完成后换行
            System.out.println();
            i++;
        }
        s.close();
    }
}

关键修改点

  • 内层循环中,将System.out.println(i)替换为System.out.print(i),这样同一行的数字会连续输出,不会自动换行。
  • 外层循环末尾的System.out.println()保留,用于在每行所有数字打印完成后切换到下一行。
  • 补充了Scanner的关闭操作,避免资源未释放的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 00:05:21