我如何告诉用户重新输入3以下的整数?

时间:2018-09-25 20:26:05

标签: java

如果用户输入的值大于3,我希望他们重新输入一个新的整数。在他们输入小于3的新整数之后,我希望该新整数再次通过if语句。输入0将终止应用程序。

这就是我得到的:

import java.util.Scanner;

public class Testing3 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("choose between 1, 2, or 3");
        System.out.println("enter 0 to exit");

        int i = sc.nextInt();
        do {
            if (i == 1){
                System.out.println("hi");
            }else if (i == 2){
                System.out.println("hello");
            }else if (i == 3){
                System.out.println("howdy");
            }else if (i > 3){
                System.out.println("invalid");
                //??? Make The User Enter A New Integer
            }
        } while (i != 0);

        if (i == 0){
            System.out.println("goodbye");
        }

    }

2 个答案:

答案 0 :(得分:1)

最简单的解决方案是将PageController _pageController = PageController(initialPage: 0, keepPage: false); 放入循环中。这将重复该程序,直到用户通过输入int i = sc.nextInt();终止该程序。

0

答案 1 :(得分:1)

else if (i > 3){
  i = sc.nextInt();
}

请取消第二项检查:

do {} 
while (i != 0);
       if (i == 0){
           System.out.println("goodbye");
       }

如果离开循环的条件是“如果i等于0”,则第二个条件(i == 0)没有意义。