java try catch处理完后返回try(就是输入错误重新输入)
比如int类型输成string类型了,给了catch输出“你输错了”再让你重新输,本来我是外部嵌套个循环while(true)的,但是返回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();
}
}
}
下面是个简单的例子
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();
}
}
}
追问
但是我是写在主函数里的
展开全部
boolean flag=true;
while(flag){
try{
//代码,所有代码执行完后加下那一句。
flag=false;
}catch(Exception e){
//代码
}
}
while(flag){
try{
//代码,所有代码执行完后加下那一句。
flag=false;
}catch(Exception e){
//代码
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用finally不行嘛?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询