当输入零作为输入并立即开始求和时,我需要停止询问整数输入。当我输入零时,我的程序不会停止。我需要它来停止并开始总结它收集的所有输入。
这就是我所拥有的:
public class Inttosum {
public static void main(String[] args) {
System.out.println("Enter an integer");
Scanner kb = new Scanner(System.in);
int askool = kb.nextInt();
int sum = 0;
int score = 0;
while(askool != 0){
score = kb.nextInt();
sum += score;
}
}
}
/////////////////最终的代码有效。谢谢! 公共课Inttosum {
public static void main(String[] args) {
System.out.println("Enter an integer");
Scanner kb = new Scanner(System.in);
int sum = 0;
int score = 0;
do {
score = kb.nextInt();
sum += score;
}while(score != 0);
System.out.print(sum);
}
}
答案 0 :(得分:1)
您正在检查askool !=0
,而while循环中的值正由score
引用。将其更改为while(score != 0 && askool != 0)
答案 1 :(得分:0)
do-while
您正在使用名为askool
的内容作为循环条件,但更新循环中的变量score
。您可以使用do-while
循环。改变
while(askool != 0){
score = kb.nextInt();
sum += score;
}
类似
do {
score = kb.nextInt();
sum += score;
}while(score != 0);
break
我还建议在致电nextInt
之前致电Scanner.hasNextInt()
。而且,由于您不使用score
(只是sum
),您可以将其编写为,
int sum = 0;
while (kb.hasNextInt()) {
int score = kb.nextInt();
if (score == 0) {
break;
}
sum += score;
}
System.out.print(sum);
如果用户输入文字,也会停止(并sum
所有int
s。)