我应该编写一个程序,询问用户5个非负整数,然后显示这些整数的总和。 此外,如果用户输入非整数值,我必须继续询问,直到用户输入了5个可接受的值。
如何使用非嵌套for语句执行此操作?感谢!!!
答案 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 :(");
}
然后打印出总和。