Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建一个循环,使用键盘输入打印出行和列?_Java_Loops_For Loop_Input_Java.util.scanner - Fatal编程技术网

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

Java 如何创建一个循环,使用键盘输入打印出行和列?,java,loops,for-loop,input,java.util.scanner,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 ( int i = 0; i < numOfRow; i++ ) { for ( int j = 0; j < numOfColum; j++ ) { System.out.print(" X ");

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

最终输出如下所示:

X X X
X X X
X X X
X X X
for ( int i = 0; i < numOfRow; i++ )
{
    for ( int j = 0; j < numOfColum; j++ )
    {
        System.out.print(" X ");
    }
    System.out.println();
}
现在的问题是,我无法在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("");

    }

}
尝试这样的循环:

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


您的输出中没有任何换行符,因此您的所有X都将显示为在同一行上。在for内部或外部使用另一个。这个外部for将控制行数并调用System.out.println.Luiggi Mendoza,我做到了,但它会断线,而且似乎不正确。只有在打印了组成行的元素之后,才可以使用System.out.println。在现有行的数量上再绕一圈,就可以得到行。使用System.out.println而不是System.out.print\n;。这是因为println将使用基于操作系统的换行符,而\n不会。David Reeve,它不会生成准确的行。最终输出将删除column@someone尝试使用此选项打印的行数是否过多,列数是否过多?@DavidWallace之前使用了StringBuilder以提高效率。我不喜欢在行尾添加空格。保留空格可能会更快,而不是引入逻辑来检查它是否是最后一个“X”。但是如果您想这样做,可以使用子字符串或deleteCharAt@laune你更喜欢我的第二个选择吗-