如何使用 java 中的嵌套 for 循环为矩形图案创建 (m) 列和 (n) 行?

How to create (m) columns and (n) rows for a rectangular pattern using nested for loops in java?

我今天刚学会使用嵌套循环,要求我做的任务很简单,但我无法正确执行它,尽管我的想法是一样的。

任务是输入一个字符,一个整数是行**(n),另一个整数是列**( m)

它应该显示 n 行 m 列的矩形图案

示例输入:

*
3
2

此处行数为3,列数为2

示例输出:

**
**
**

这只能使用嵌套 for 循环来完成

我的代码:

import java.util.Scanner;

class Example {
    public static void main (String[] args) {

        Scanner keyboard = new Scanner(System.in);
        String character = keyboard.next();
        int n = keyboard.nextInt();
        int m = keyboard.nextInt();

        for (int x = m; x <= m; x++) {
            for (int y =n ; y <= n; y++) {
                System.out.print(character);
            }
            System.out.println("");
        }
    }
}

我得到的输出:

*

您应该在两个循环中从 0 开始,直到达到 < m< n,如下所示:

Scanner keyboard = new Scanner(System.in);
String character = keyboard.next();
int n = keyboard.nextInt();
int m = keyboard.nextInt();
for (int x = 0; x < m; x++){
    for (int y = 0; y < n; y++){
        System.out.print(character);
    }
    System.out.println("");
}      

样本 input/output 将是:

*
3
2
***
***

你应该使用这样的循环,从 0 开始到行,j 从 0 到列,每行,并在阅读后关闭扫描仪

    public static void main(String[] arg) {
        Scanner keyboard = new Scanner(System.in);
        String character = keyboard.next();
        int col = keyboard.nextInt();
        int row = keyboard.nextInt();

        for (int i = 0; i < row; i++) {
            for (int j = 0; j < col; j++) {
                System.out.print(character);
            }
            System.out.println("");
        }
        keyboard.close();
    }

,输出

***
***

您的代码中的错误在于您是从 m 本身开始循环,而不是您应该考虑要 运行 循环多少次。 考虑到这一点,请尝试 运行 将代码从 0 调整到 m,将内部循环从 0 调整到 n。 这种心态也将帮助您学习 while 循环。

import java.util.Scanner;

class Example {
public static void main (String[] args) 

{

Scanner keyboard = new Scanner(System.in);
String character = keyboard.next();
int n = keyboard.nextInt();
int m = keyboard.nextInt();

for (int x = 0;x<m;x++){
    for (int y=0;y<n;y++){
        System.out.print(character);
    }
    System.out.println("");
}
}

}