Java - 自定义异常(尚学堂第六章异常机制作业计算平均数)

 编写一个计算N个学生分数平均分的程序。程序应该提示用户输入N的值,如何必须输入所有N个学生分数。如果用户输入的分数是一个负数,则应该抛出一个异常并捕获,提示“分数必须是正数或者0”。并提示用户再次输入该分数。

import java.util.Scanner;

public class TestInputScore {
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        Scanner input = new Scanner(System.in);
        
        System.out.println("要计算几个学生分数的平均数?");
        float n = input.nextFloat();
        
        System.out.println("请输入:" + (int)n + "个学生分数");
        float sum = 0;
        float tmp;
        for(int i=0; i<n;) {
            tmp = input.nextFloat();
            if(tmp<0) {
                try {
                    throw new InputScoreException("分数必须是正数或者0");
                }catch(Exception e) {
                    e.printStackTrace();
                    System.out.println();
                    System.out.println("请重新输入分数");
                    continue;
                }
            }else {
                sum += tmp;
                i++;
            }
        }
        
        System.out.print("学生分数平均分为:" + sum/n);
    }


}

@SuppressWarnings("serial")
class InputScoreException extends Exception{

    public InputScoreException() {
        super();
        // TODO Auto-generated constructor stub
    }

    public InputScoreException(String message) {
        super(message);
        // TODO Auto-generated constructor stub
    }
    
}

 

posted on 2019-04-12 11:00  kl_1998  阅读(499)  评论(0编辑  收藏  举报

导航