分数try catch
要求:编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。
要求程序必须具备足够的健壮性,不管用户输入什 么样的内容,都不会崩溃。
package tryo6; import java.util.*; class MyException extends Exception { MyException() { } } class Pan { double fen; void setGrade() { Scanner shu=new Scanner(System.in); try { try { fen=shu.nextDouble(); if(fen<0||fen>100) throw new MyException(); } catch(MyException e)//范围情况 { System.out.println("超出范围,请重新输入:"); setGrade(); } } catch(Exception e)//其它情况 { System.out.println("不能含有字符,请重新输入"); setGrade(); } } void showGrade() { if(fen>0&&fen<60) System.out.println("不及格"); if(fen>60&&fen<=70) System.out.println("及格"); if(fen>70&&fen<=80) System.out.println("中"); if(fen>80&&fen<=90) System.out.println("良"); if(fen>90&&fen<=100) System.out.println("优"); } } public class grate { public static void main(String args[]) { System.out.print("请输入0~100之间的分数:"); Pan ru=new Pan(); ru.setGrade(); ru.showGrade(); } }
结果:
请输入0~100之间的分数:asd
不能含有字符,请重新输入
120
超出范围,请重新输入:
79
中