java try catch处理完后返回try(就是输入错误重新输入)

比如int类型输成string类型了,给了catch输出“你输错了” 再让你重新输,本来我是外部嵌套个循环while(true)的,但是返回try後进入无尽循环模式,不知道怎么解决。

可以不用死循环的,用递归一样可以实现
下面是个简单的例子
import java.util.Scanner;
public class Test
{
public static void main(String[] args)
{
Test t = new Test();
t.input();
}

public void input()
{
Scanner s = new Scanner(System.in);
System.out.println("Please input a num");
try{
int num = s.nextInt();
System.out.println("You input "+num);
}
catch(Exception e)
{
System.out.println("Invalid input,try again");
input();
}
}
}追问

但是我是写在主函数里的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-22
boolean flag=true;
while(flag){
try{
//代码,所有代码执行完后加下那一句。
flag=false;
}catch(Exception e){
//代码
}
}
第2个回答  2015-04-22
用finally不行嘛?
相似回答