Java计算平均成绩

我不是女神ヾ 2021-12-13 14:01 346阅读 0赞

编写一个程序,根据用户输入的总人数和总成缋计算平均成绩。要求程序能够处理总人数或者总成绩不是数字时的情况。

根据题目要求得知,在程序中需要对多种异常情况进行不同的处理。此时可以在 try 语句后定义两个或更多的 catch 语句块,其语法结构如下:

  1. try
  2. {
  3. 逻辑代码块
  4. }
  5. catch(ExceptionType1 e1)
  6. {
  7. 处理代码块1
  8. }
  9. catch(ExceptionType2 e2)
  10. {
  11. 处理代码块2
  12. }
  13. catch(ExceptionTypen en)
  14. {
  15. 处理代码块n
  16. }

以上代码执行时,Java 虚拟机会把实际拋出的异常对象依次和各个 catch 代码块声明的异常类型匹配,如果异常对象为某个异常类型或者其子类的实例,就执行该 catch 代码块,而跳过其他的 catch 代码块。具体实现代码如下:

  1. import Java.util.InputMismatchException;
  2. import java.utii.Scanner;
  3. public class TestO3
  4. {
  5. public static void main(String[] args)
  6. {
  7. Scanner input=new Scanner(System.in);
  8. try
  9. {
  10. System.out.println(“请输入班级总人数:”);
  11. int count=input.nextInt();
  12. System.out.println(“请输入总成绩:”);
  13. int score=input.nextInt();
  14. int avg=score/count; //获取平均分
  15. System.out.println(“本次考试的平均分为:”+avg);
  16. }
  17. catch(InputMismatchException e1)
  18. {
  19. System.out.println(“输入数值有误!”);
  20. }
  21. catch(ArithmeticException e2)
  22. {
  23. System.out.println(“输入的总人数不能为0!”);
  24. }
  25. catch(Exception e3)
  26. {
  27. e3.printStackTrace();
  28. System.out.println(“发生错误!”+e3.getMessage());
  29. }
  30. }
  31. }

如上述代码,在 main() 方法中使用了多重 catch 语句来捕获各种可能发生的异常,包括 InputMismatchException 异常、ArithmeticException 异常以及其他类型的异常。

当用户输入的总人数或者总成绩不为数值类型时,程序将拋出 InputMismatchException 异常,从而执行 System.out.println(“输入数值有误!”)代码,输出结果如下所示:

  1. 请输入班级总人数:
  2. 50
  3. 请输入总成绩:
  4. 1250a
  5. 输入数值有误!
  6. 请输入班级总人数:
  7. 50a
  8. 输入数值有误!

当输入的总人数为 0 计算平均成绩时会出现被除数为 0 的情况,此时会拋出 ArithmeticException 异常,从而执行 System.out.Println(“输入的总人数不能为0!”)代码,输出结果如下所示:

  1. 请输入班级总人数:
  2. 0
  3. 请输入总成绩:
  4. 100
  5. 输入的总人数不能为0

如下所示的是当输入的总人数和总成绩均为正常数值类型时的输出结果:

  1. 请输入班级总人数:
  2. 50
  3. 请输入总成绩:
  4. 1250
  5. 本次考试的平均分为:25

发表评论

表情:
评论列表 (有 0 条评论,346人围观)

还没有评论,来说两句吧...

相关阅读

    相关 c语言 计算平均成绩

    给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩(\[0,100\]区间内的整数),要求计算他们的平均成绩,并

    相关 PTA 计算平均成绩 (15 分)

    给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩(\[0,100\]区间内的整数),要求计算他们的平均成绩,并

    相关 Java计算平均成绩

    编写一个程序,根据用户输入的总人数和总成缋计算平均成绩。要求程序能够处理总人数或者总成绩不是数字时的情况。 根据题目要求得知,在程序中需要对多种异常情况进行不同的处理