如何运行连续循环,直到输入正确范围内的值

时间:2014-10-12 20:28:03

标签: java eclipse input while-loop

我需要编写一个Java应用程序,它将一个数字作为用户的输入并验证输入以确保它在1到10之间。如果输入不在正确的范围内,应用程序应该 使用循环继续询问用户输入,直到正确范围内的值为止 输入

这是我到目前为止的代码:

import java.util.Scanner;

class Number {

    public static void main(String args[]) {

        int j = 0;
        int J = 0;

    Scanner input = new Scanner(System.in);

    System.out.println("Enter a number between 1 and 10: ");
        J = input.nextInt();

    while(J > 10){

        j = input.nextInt();//read input from user
        System.out.println();

        if (j >=1 && j <=10 ) {
            System.out.println("Validated input: " + j);
            input.close();          
        }//end if statement

        else {
            System.out.println("Enter a number between 1 and 10");
            j = input.nextInt();
        }//end else statement

    }//end while loop       

    }//end main method

}//end class

我可以让代码在没有while循环的情况下工作,但很明显它不会连续运行,我已经完成了问题,并且在问题再次出现之前输入了两次数字并且验证出错消息。

所以我的问题是:“如何让while循环正确运行,我可能没有正确编写,所以有人可以帮助我”

我正在使用eclipse

2 个答案:

答案 0 :(得分:1)

  

[...]使用循环继续询问用户输入,直到中的值为止   已输入正确的范围。

while(j < 1 || j > 10)

这就是它。仅使用循环打印指令。没有必要两次使用相同的行。并摆脱if/else。你的循环已经在检查条件。一旦你离开它,条件就满足了。

答案 1 :(得分:0)

以下是您需要做的事情的说明。还要确保将来可以合理地命名参数,而不是i,j,x。例如,在这种情况下,您想将其命名为inputNumber或类似的东西。

print 'Please insert number'

int input = scanner.next

While (input not in range) {
 print 'error please input number in range'
 input = scanner.next
}

...process
exit