我有这个代码,我想运行以解决需要三个用户输入的问题,我使用了Scanner类:
public static void main(String[] args) {
int M = 0;
int A = 0;
Scanner input = new Scanner(System.in);
System.out.println("Please, insert the normal dose in ml:");
M = input.nextInt();
System.out.println("Please, insert the set of experiments (3 integers per line, stop by 0 0 0):");
try {
while (input.hasNextInt()) {
System.out.print(input.hasNext());
int i = input.nextInt();
A += i;
System.out.println(A);
}
} catch (Exception x) {
System.out.print(x.getMessage());
}
System.out.println("Loop ended");
}
奇怪的是input.hasNextInt()
在插入三个值之后卡住了什么东西,看起来即使控制台中没有输入,它仍然会循环或某些东西,有些可以为我提供一些帮助?
答案 0 :(得分:0)
那是因为input.hasNextInt()
等待直到整数值可用。如果通知了字母数字值,它将返回false。
你必须定义另一种方法来打破while循环,可能还有一个计数器,或者像你的消息所说,检查3个值是否等于0。