-6

JAVA代码:

我正在尝试检查何时有人输入 5、10、15、20、25 或 30。这是抵押计算,这是摊销期,但我还需要它来循环和错误检查。如果该人输入的不是 5、10、15、20、25 或 30,则必须说:

“请输入 5、10、15、20、25 或 30。”

并循环并再次等待输入。

我知道您可以检查每个 int 的 if 语句,但我不确定如何循环该语句。

4

3 回答 3

3

if(x%5==0)true如果x是 5 的倍数则返回。

if(x>0)true如果x大于 0 ,则返回。

if(x<31)true如果x小于 31 ,则返回。

您可以将这些检查与&&操作员结合使用。

于 2013-10-07T00:54:18.100 回答
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 的倍数的数字

于 2013-10-07T01:01:28.300 回答
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();

当您使用Scanneron 时System.in

Scanner sc = new Scanner(System.in);//put this code somewhere before entering the do-while loop.
于 2013-10-07T00:55:14.960 回答