java 我尝试的代码没有显示预期的输出,我如何纠正与模式相关的代码?

rjee0c15  于 2023-02-18  发布在  Java
关注(0)|答案(1)|浏览(108)

我需要打印一个正方形模式,其中数字按行增加,例如考虑表示行值的变量“i”,如果初始化i=1并增加值直到“n”(用户使用while循环输入),则第一行将打印1,第二行将打印2,以此类推,直到它达到值“n”。另外,我为列创建了变量,并将其命名为“j”,其值也会增加,直到它达到n。
我得到的输出是:enter image description here我编写的代码是:(Java)enter image description here

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;
        }

为什么上面代码的输出是:enter image description here而不是

  • 1111
  • 2222
  • 3333
  • 4444

请帮帮我。

sf6xfgos

sf6xfgos1#

问题

文档中有以下说明,您应该知道
打印一个整数,然后终止该行

修复

请改用print

while (i <= n) {
    int j = 1;
    while (j <= n) {
        System.out.print(i);
        ++j;
    }
    System.out.println();
    ++i;
}

改进

使用for循环可能会更好一些

for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= n; ++j) {
        System.out.print(i);
    }
    System.out.println();
}

使用String.repeat

for (int i = 1; i <= n; ++i) {
    System.out.println(Integer.toString(i).repeat(n));
}

相关问题