为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我这样写异常检查,输入 a 等字符型时,程序会停不下来?是不是因为 i 是int型,没法保存下a,所以会出现这样的问题?有什么好的解决方法不?

public void start()

{

int i = 0;

System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");

try

{

i = input.nextInt();

if(i==1)

noChoose();

else if(i==2)

nameChoose();

typeEx(i);

}

catch(TypeException e)

{

System.out.println("输入命令有误!请根据提示输入数字命令!");

start();

}

catch(InputMismatchException ie)

{

System.out.println("输入命令有误!请根据提示输入数字命令!");

start();

}

}


正在回答

2 回答

还是不行,依然是那个问题

0 回复 有任何疑惑可以回复我~

你试试把

catch(InputMismatchException ie)

{

System.out.println("输入命令有误!请根据提示输入数字命令!");

start();

}

移到

catch(TypeException e)

{

System.out.println("输入命令有误!请根据提示输入数字命令!");

start();

}

上面试试

0 回复 有任何疑惑可以回复我~
#1

不想划水的鱼 提问者

还是不行,依然是那个问题
2017-06-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我这样写异常检查,输入 a 等字符型时,程序会停不下来?是不是因为 i 是int型,没法保存下a,所以会出现这样的问题?有什么好的解决方法不?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信