老师,请问如何实现输入错误类型数据后程序不终止继续输入直到类型正确哪?

老师,请问如何实现输入错误类型数据后程序不终止继续输入直到类型正确哪?

正在回答 回答被采纳积分+1

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

1回答
好帮手慕阿满 2018-12-24 15:28:09

同学你好,可以使用try-catch捕获异常,在try-catch外使用while循环,在try{}代码块中获取输入的数据,如果输入的类型错误,就执行catch语句,在catch中将错误信息接收,继续执行下次循环,如果输入正确的数据,在try中使用break跳出循环。

代码示例:

public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while (true)
			try {
				System.out.println("请输入一个整型数据");
				int n = sc.nextInt();
				System.out.println(n);
				break;
			} catch (Exception e) {
				sc.next();
			}
	}

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

  • 提问者 qq_无限之光_0 #1
    谢谢,请问为什么catch里面不写成n=sc.next()啦
    2018-12-24 15:51:08
  • 首先n是try中定义,n的作用范围只在try中,所以catch中不能使用,如果将n定义在try-catch外,n在catch中可以使用,但是这时变量n的类型为int,不能用sc.next()接收错误的数据。catch中的sc.next()只是将错误的数据类型接收,所以不能写成n=sc.next()。祝:学习愉快~
    2018-12-24 16:03:46
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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