老师,我这样处理异常不知道对不对?
public void update(float[] f,int index,float newScore) { Scanner sc = new Scanner(System.in); System.out.println("请输入要修改数据的位置(从0开始)"); try { index = sc.nextInt(); }catch(InputMismatchException e) { System.out.println("输入的数据格式有误,不能有非数字"); sc.next(); System.out.println("请输入要修改数据的位置(从0开始)"); index = sc.nextInt(); } System.out.println("请输入新数据"); try { newScore = sc.nextFloat(); }catch(InputMismatchException e) { System.out.println("输入的数据格式有误,不能有非数字"); sc.next(); System.out.println("请输入新数据"); newScore = sc.nextFloat(); } f[index]=newScore; }
如果不对,请问正确的应该怎么写?
0
收起
正在回答
2回答
同学你好,如图所示:
1、处理异常时,可以在设置while循环,当输入成功时跳出循环,当输入失败时,给出提示,使用sc.next()接收错误信息,并使用contienue退出当前循环,继续执行下次循环。
2、"请输入要修改数据的位置(从0开始)"和“请输入新数据”的提示,以及从键盘接收数据,在try块中已经定义过,在catch中无需重复定义。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星