【发布时间】:2017-05-20 17:24:04
【问题描述】:
我正在使用Scanner 来获取用户的输入,但我想检查它是否为整数。所以,我找到了this。问题是,我不明白为什么在这个解决方案中done = true 在try 部分。
boolean done = false;
while (!done) {
try {
...
done = true;
} catch (...) {
}
}
如果我要在try 中输入我的信息,就像这样:
try {
input = sc.nextInt();
done = true;
}
如果输入不是int 并进入catch 部分,如果boolean 已经更改,为什么它会重新执行循环,即使它没有@987654333 @ 或 continue 紧随其后?
另外,我会使用throw new,就像this case 一样,但还没有正式向我解释,所以我不能使用它。
另一件事,只能用do-while 像this case 那样完成吗?
在最后一个链接中,为什么它在catch 中说scanner.next(); 而不是input = scanner.nextInt();?还是一样?
【问题讨论】:
-
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。 避免同时提出多个不同的问题。