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 } }