如何创建一个接受键盘输入以打印出行和列的循环?

How do I create a loop that takes keyboard input to print out row and column?

我的程序将输出一些行和列的图形表示。它要求用户输入他们想要查看图形的行数和列数。例如,如果用户选择 4 行和 3 列,它应该打印一个具有 4 行和 3 列的图形(假设它由字符 X 组成)。

最终输出将如下所示:

X X X
X X X
X X X
X X X

现在的问题是我无法在我的 for 循环中设置逻辑以使其成为所需的形状。我试过了,但没弄明白。

这是我目前所做的:

package banktransport;

import java.util.*;

public class BankTransport {

    static int NumOfRow;
    static int numOfColum;
    static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {
        showRowCol(NumOfRow, numOfColum);

    }

    public static void showRowCol(int NumOfRow, int numOfColum) {

        System.out.println("Enter row: ");
        NumOfRow = input.nextInt();
        System.out.println("Enter Col: ");
        numOfColum = input.nextInt();

        System.out.println("");
        System.out.println("Visual Representation: ");
        //print column and row 
        for (int i = 0; i < numOfColum; i++) {
            System.out.print(" X ");
           //System.out.println("");
            //for(int j=1; j<(NumOfRow-1);j++){
            // System.out.print(" Y ");

            //}
        }
        System.out.println("");

    }

}

尝试这样的循环:

for ( int i = 0; i < numOfRow; i++ )
{
    for ( int j = 0; j < numOfColum; j++ )
    {
        System.out.print(" X ");
    }
    System.out.println();
}

尝试:

for (int i = 0; i < numOfRow; i++) {
    StringBuilder line = new StringBuilder();
    for (int j = 0; j < numOfColumn; j++) {
        line.append("X ");
    }
    System.out.println(line.toString());
}

您还可以使用 Apache Commons Lang StringUtils.repeat 方法(这会阻止您在行尾添加尾随 space):

for (int i = 0; i < numOfRow; i++) {
    System.out.println(StringUtils.repeat("X", " ", numOfColumn));
}