继续循环,直到用户输入正确的输入?

时间:2015-03-03 20:51:17

标签: java for-loop user-input

我应该编写一个程序,询问用户5个非负整数,然后显示这些整数的总和。 此外,如果用户输入非整数值,我必须继续询问,直到用户输入了5个可接受的值。

如何使用非嵌套for语句执行此操作?感谢!!!

2 个答案:

答案 0 :(得分:1)

这对你有用。它会继续扫描,直到用户输入一个整数。

    Scanner scan = new Scanner(System.in);
    int sum = 0;

    for(int i = 0; i < 5; i++)
    {

    System.out.println("Enter integer value: ");
    while (!scan.hasNextInt())
    {
        System.out.println("That's not a number, try again: ");
        scan.next();
    }
    sum += scan.nextInt();
    }
    System.out.println(sum);

答案 1 :(得分:1)

使用while()循环。

int sentinel = 0;
Scanner s = new Scanner(System.in);
int sum = 0;

while (sentinel < 5 && s.hasNextInt()){
  int num = s.nextInt();
  if(num>=0){
    sum += num;
    sentinel++;
  }else
    System.out.println("That wasn't a non-negative int :(");
}

然后打印出总和。