LTH*_*LTH 4 java loops exception
我正试图在我的学习指南上提出一个问题:
编写一个异常控制的循环,循环直到用户输入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());
}
}
Run Code Online (Sandbox Code Playgroud)
你们觉得怎么样?我在这里错过了什么吗?
我认为你的catch子句应该在循环之外
Scanner input = new Scanner(System.in);
int a = 0;
try
{
while(true)
{
a = input.nextInt();
if(a <= 0 || a > 5)
throw new OutOfRangeException(); //my own Excpt. class
}
}
catch (OutOfRangeException e) {
System.out.println(e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
我还没有真正听到这个词"异常控制回路",但我认为这意味着它是一个无限循环异常后离开.似乎合乎逻辑.
正如评论说,如果你直到用户输入1和5之间的数字需要循环,扔条件应该是
if(a >= 1 && a <= 5)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6400 次 |
最近记录: |