package com.itheima;
import java.util.Scanner;
public class Score {
/*
* 第一题 学生成绩分为四个等级:90~100:优,80~89:良,70~79:中,60~69:及格,0~60:不及格。 要求:
* 1.输入一个学生的成绩:例如 99,那么输出优。 2.输入成绩必须是整数,范围是0~100,超过范围或者输入的不是整数,要做相应的处理。
* 3.可以连续输入成绩,当输入over的时候,结束输入成绩
*/
public static void main(String[] args) throws MyException {// MyException.java在另一个文件呢,没有贴出来
// 输入成绩用到了Scanner,创建对象
Scanner sc = null;
String str = "y";
do {
if("y".equals(str))
{
try {
sc = new Scanner(System.in);
System.out.println("请输入一个学生成绩:");
int score = sc.nextInt();
panduan(score);//調用判斷的函數
System.out.println("输入over结束,y继续");
// 除去nextInt()录入的回车换行
sc.nextLine();
// 接收录入
str = sc.nextLine();
// 测试用现实输入的内容
//System.out.println(str);
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("数据有误,请重新输入");
//System.exit(0);
//throw new MyException("数据有误,请重新输入");
}
}
} while ("y".equals(str));
}
private static void panduan(int score) {
if (score >= 90 && score <= 100)
System.out.println("优");
else if (score >= 80 && score <= 89)
System.out.println("良");
else if (score >= 70 && score <= 79)
System.out.println("中");
else if (score >= 60 && score <= 69)
System.out.println("及格");
else
System.out.println("不及格");
}
}
这个程序能实现 所要求的功能,测试已经通过。现在拿出来分享一下。
另外我有一个问题:我想通过自定义异常,来捕获不同的输入数据的错误类型,并提供相应的方案,这一点我没有实现,有大神请告知我,我想知道怎么样才能更加完善,谢谢
|