JAVA CODE:
我正在尝试检查有人输入5,10,15,20,25或30。 这是抵押贷款计算,这是摊还期,但我也需要它来循环 和错误检查。如果此人输入的内容不是5,10,15,20,25或30,则必须说:
“请输入5,10,15,20,25或30。”
然后循环并再次等待输入。
我知道你可以检查每个int的if语句,但我不知道如何循环 这句话。
答案 0 :(得分:3)
if(x%5==0)
是5的倍数,则 true
会返回x
。
if(x>0)
大于0,则 true
会返回x
。
if(x<31)
小于31,则 true
会返回x
。
您可以将这些检查与&&
运算符结合使用。
答案 1 :(得分:0)
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
上使用System.in
:
Scanner sc = new Scanner(System.in);//put this code somewhere before entering the do-while loop.
答案 2 :(得分:0)
使用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的倍数的数字