Java 如何创建一个循环,使用键盘输入打印出行和列?
我的程序将输出一些行和列的图形表示。它要求用户输入他们想要查看图形的行数和列数。例如,如果用户选择4行3列,它应该打印一个图形,比如说它由字符X组成,该字符有4行3列 最终输出如下所示: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 ");
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你更喜欢我的第二个选择吗-