如果用户输入为奇数并且在此范围内,则可以正常工作。似乎无法弄清楚如何使它与偶数输入一起使用。
我已经看到在其他帖子上有一种“简便”的方法可以执行此程序,但是我必须自己解决这个问题,然后才能查找任何问题并想知道是否有任何方法可以使此工作有效通过这种方法。
import java.util.Scanner;
public class Lab7_3{
public static void main(String args []){
Scanner input = new Scanner(System.in);
char userStart;
int countA=1, countB=1, rowsColumns;
System.out.println("Do you want to start?");
userStart = input.next().charAt(0);
while (userStart == 'Y' || userStart == 'y'){
System.out.println("How many rows/columns? (5-21)");
rowsColumns = input.nextInt();
while (rowsColumns < 5 || rowsColumns > 21){
System.out.println("Invalid range. Reenter (5-21)");
rowsColumns = input.nextInt();
}//end while3
for(countA = 1; countA <= rowsColumns; countA++){
System.out.println("");
for(countB = 1; countB <= rowsColumns; countB++){
if((rowsColumns % countA) == 0 || (rowsColumns % countB) == 0)){
System.out.print("*");
}//end if
else{
System.out.print("1");
}//end else
}//end for2
}//end for
System.out.println("\nDo you want to continue? (Y/N)");
userStart = input.next().charAt(0);
}//end while
}//end main
}//end class
答案 0 :(得分:0)
第if((rowsColumns % countA) == 0 || (rowsColumns % countB) == 0))
行给出了错误的结果。
if(countA==1 || countA == rowsColumns || countB == 1 || countB == rowsColumns)
适用于奇数和偶数。