输入非数字如何处理?

输入非数字如何处理?

请问输入非数字时如何处理?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

非数字的处理要捕获异常,代码如下:

int n;
Scanner sc = new Scanner(System.in);
try {
System.out.println("请输入数字:");
n = sc.nextInt();
} catch (java.util.InputMismatchException e) {
System.out.println("不能输入非数字!");
}

其他代码可以写到上面这段代码的下面。


如果循环输入数据的话,可以用下面的代码:

int n;
Scanner sc = new Scanner(System.in);
for (int i = 1; i <= 10; i++) {
try {
System.out.println("请输入数字:");
n = sc.nextInt();
} catch (java.util.InputMismatchException e) {
System.out.println("不能输入非数字!");
i--;
sc.next();
}
}

这段代码中,因为输错了数据,所以i的值要进行减1,相当于上一次输入的数不算,sc.next()是用来接收输错的那个数据。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 人土土zzzzz 提问者 #1
    异常还没学,就要我们写,是不是不太合理
    2017-03-09 14:28:32
  • 好帮手慕珊 回复 提问者 人土土zzzzz #2
    这个在题目中不要求,只要求输入0-4以外的数字时给一个提示就行。不写不会扣分的。
    2017-03-09 16:05:12
  • 人土土zzzzz 提问者 回复 好帮手慕珊 #3
    好的,谢谢!
    2017-03-09 16:12:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师