我正在创建这个程序,其行的值设置为10,然后将其添加到板类中。稍后,用户必须输入小于或等于总行数的平均值的值是10,如果他输入了错误的值,程序将要求他输入正确的值,然而,10的平均值是5,我可以在0-5之间输入数字而不得到"请输入正确的值"但是,当我尝试用我的程序执行此操作时,它说5,4,3,2,1是不正确的数字,只接受0 ..这是我的程序
import java.util.Scanner;
public class Calculate {
public static void main(String[] args) {
int co,row,col;
Board b= new Board();
row=10;
b.setRow(row);
System.out.println("Enter number less than or equal to the averange of rows");
Scanner src= new Scanner(System.in);
col=getRow(src);
System.out.println(col);
}
private static int getRow(Scanner c) {
int b=-1;
Board o= new Board();
while(b<0 || b>o.getRow()/2)
{
System.out.println("Please enter correct row");
b=c.nextInt();
}
return b;
}
}
答案 0 :(得分:0)
当你这样做时
Board o= new Board();
在getRow
内,您正在制作一个新的电路板(大概)row
为零。它与您在main
中构建的电路板不同,并将row
设置为10。
要将小组从main
传递到getRow
,请将其添加为参数:
private static int getRow(Scanner c, Board o) {
int b=-1;
while(b<0 || b>o.getRow()/2) {
System.out.println("Please enter correct row");
b=c.nextInt();
}
return b;
}
并在您从getRow
致电main
后传递给我:
col = getRow(src, b);