【问题标题】:How to run a continuous loop until a value in the correct range has been entered如何运行连续循环,直到输入正确范围内的值
【发布时间】:2014-10-13 04:39:36
【问题描述】:

我需要编写一个 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 循环正确运行,我可能没有正确编写,所以请有人帮助我”

我正在使用日食

【问题讨论】:

    标签: java eclipse input while-loop


    【解决方案1】:

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

    while(j < 1 || j > 10)
    

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

    【讨论】:

      【解决方案2】:

      这里是您需要做什么的描述。还要确保将来您合理地命名参数,而不是 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
      

      【讨论】:

        猜你喜欢
        • 2019-03-10
        • 1970-01-01
        • 1970-01-01
        • 2020-09-02
        • 1970-01-01
        • 2017-01-24
        • 1970-01-01
        • 2020-08-18
        • 2023-04-02
        相关资源
        最近更新 更多