如何创建一个循环,使用键盘输入来打印行和列?

时间:2015-01-06 19:31:39

标签: java loops for-loop input java.util.scanner

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

最终输出将如下所示:

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("");

    }

}

2 个答案:

答案 0 :(得分:4)

尝试这样的循环:

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

答案 1 :(得分:3)

尝试:

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方法(这会阻止你在行尾有一个尾随空格):

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