JAVA代码:
我正在尝试检查何时有人输入 5、10、15、20、25 或 30。这是抵押计算,这是摊销期,但我还需要它来循环和错误检查。如果该人输入的不是 5、10、15、20、25 或 30,则必须说:
“请输入 5、10、15、20、25 或 30。”
并循环并再次等待输入。
我知道您可以检查每个 int 的 if 语句,但我不确定如何循环该语句。
JAVA代码:
我正在尝试检查何时有人输入 5、10、15、20、25 或 30。这是抵押计算,这是摊销期,但我还需要它来循环和错误检查。如果该人输入的不是 5、10、15、20、25 或 30,则必须说:
“请输入 5、10、15、20、25 或 30。”
并循环并再次等待输入。
我知道您可以检查每个 int 的 if 语句,但我不确定如何循环该语句。
if(x%5==0)
true
如果x
是 5 的倍数则返回。
if(x>0)
true
如果x
大于 0 ,则返回。
if(x<31)
true
如果x
小于 31 ,则返回。
您可以将这些检查与&&
操作员结合使用。
使用 do while 循环的完美候选者:
int tries = 0;
Scanner in = new Scanner(System.in);
int x;
do {
tries ++;
if ( tries < MAX_TRIES) {
System.out.print("Please input either 5,10,15,20,25 or 30.");
x = in.nextInt();
System.out.println();
} else {
System.out.println("maybe you can't use a keyboard.");
break;
}
}while ( ! (x%5 == 0 && x > 0 && x <=30);
基本上这只是说,继续阅读 x 直到条件为真。
x > 0 && x <=30
给出 1 到 30 之间的数字并x%5 == 0
过滤掉不是 5 的倍数的数字
boolean test;
do {
int x = input;//read input
test = (x%5 == 0 && x > 0 && x <= 30);
if(!test) {
System.out.println("Please input either 5,10,15,20,25 or 30.");
}
} while(!test);
输入可能是这样的:
sc.nextInt();
当您使用Scanner
on 时System.in
:
Scanner sc = new Scanner(System.in);//put this code somewhere before entering the do-while loop.