我正在尝试回答学习指南上的一个问题,该问题要求:
编写一个异常控制循环,循环直到用户输入介于1和5之间的整数。
我无法理解这个问题的真正含义,因为我以前从未听说过这个术语,但这是我最好的猜测:
编写一个异常控制循环,循环直到用户输入介于1和5之间的整数。
我无法理解这个问题的真正含义,因为我以前从未听说过这个术语,但这是我最好的猜测:
Scanner input = new Scanner(System.in);
int a = 0;
while(a <= 0 || a > 5)
{
try {
a = input.nextInt();
if(a <= 0 || a > 5)
throw new OutOfRangeException(); //my own Excpt. class
} catch (OutOfRangeException e) {
System.out.println(e.getMessage());
}
}
你们觉得呢?我是否有所遗漏?
while(true) {if(input在1到5之间) {throw Exception();}}
? - Bobbywhile(true)
循环,该循环将无限循环并继续要求用户输入,如果输入超出范围。 如果给定的输入在范围内,则抛出InputIsCorrectException
异常。 在循环外部,捕获并忽略异常。 - Alderathwhile(true)
循环是代码异味。它完全否定了循环条件控制循环的想法,而是滥用异常和/或break
来替代它。 - Ingo Bürk