我的任务是创建一个使用参数(行和列)显示模式的程序,必须从键盘读取行和列的数量,并且必须使用2个循环。我尝试了一下,它以某种方式正确,但是我不想在for循环中增加,但是每当我删除它时,我都不会得到想要的模式
例如,如果我输入rows:2和column:4,则模式将是3行5列
我需要像这样的模式用于rows:2和columns:4
XXXX
XXXX
有人可以帮我说出问题所在吗?
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter number of rows");
int rows = in.nextInt();
System.out.println("Enter number of columns");
int columns = in.nextInt();
Pattern(rows, columns);
}
public static void Pattern (int rows, int columns) {
for ( int i=0; i <= rows ;i++) {
for ( int a=0; a<= columns ;a++) {
System.out.print("X");
// only print to have pattern on same row
}
System.out.println();
}
}
最佳答案
您的错误在于:
for ( int i=0; i <= rows ;i++) {
for ( int a=0; a<= columns ;a++) {
问题是
i
从0
开始并一直到rows
(与a
和columns
相同)解决此问题的方法是简单地更改:
int i=0
至
int i=1
并为a做同样的事情。
这被称为“一个错误关闭”,并且足够通用以拥有自己的名称。 (你不是一个人 :) )
您也可以将两个
<=
都更改为<
以解决此问题。