循环用户输入直到满足条件

Stu*_*ent 4 java

我需要让用户输入一个数字作为范围的开头,然后输入另一个数字作为范围的结尾.起始编号必须为0或更大,结束编号不能大于1000.这两个编号必须可以被10整除.我找到了一种方法来满足这些条件,但如果不满足我的程序只是告诉用户他们的输入不正确.我是否可以对其进行编码,以便在用户输入后检查以确保满足条件,如果它们没有循环返回并再次输入.这是我到目前为止的代码.

    Scanner keyboard = new Scanner(System.in);
    int startr;
    int endr;
    System.out.println("Enter the Starting Number of the Range: ");
    startr=keyboard.nextInt();
    if(startr%10==0&&startr>=0){
        System.out.println("Enter the Ending Number of the Range: ");
        endr=keyboard.nextInt();
        if(endr%10==0&&endr<=1000){

        }else{
            System.out.println("Numbers is not divisible by 10");
        }
    }else{
        System.out.println("Numbers is not divisible by 10");
    }
Run Code Online (Sandbox Code Playgroud)

Duk*_*ing 6

轻松做事:

Scanner keyboard = new Scanner(System.in);
int startr, endr;
boolean good = false;
do
{
  System.out.println("Enter the Starting Number of the Range: ");
  startr = keyboard.nextInt();
  if(startr % 10 == 0 && startr >= 0)
    good = true;
  else
    System.out.println("Numbers is not divisible by 10");
}
while (!good);

good = false;
do
{
    System.out.println("Enter the Ending Number of the Range: ");
    endr = keyboard.nextInt();
    if(endr % 10 == 0 && endr <= 1000)
      good = true;
    else
      System.out.println("Numbers is not divisible by 10");
}
while (!good);

// do stuff
Run Code Online (Sandbox Code Playgroud)