编写一个计算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
} }

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

  1. Java - 自定义异常(尚学堂第六章异常机制作业判断三角形)

    写一个方法void isTriangle(int a,int b,int c),判断三个参数是否能构成一个三角形, 如果不能则抛出异常IllegalArgumentException,显示异常信息 “ ...

  2. matlab第六章数据分析与多项式计算

    MATLAB练习 第六章数据分析与多项式计算 1.max和min 1.分别求矩阵A中各列和各行元素中的最大值.max和min的用法一样 % [例6.1]分别求矩阵中各列和各行元素中的最大值. A=[5 ...

  3. 《Java大学教程》—第15章 异常

    自测题:1.    什么是异常?P357异常是在程序生命周期内出现的事件,它会导致程序行为不可靠. 2. 已检查异常和未检查异常的区别是什么?P359在编译器允许程序被编译通过前,要求程序员必须编写代 ...

  4. 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)

    ---------- android培训.java培训.期待与您交流! ---------- 一.异常机制 (一)异常概述 1.异常:就是程序在运行时出现不正常情况. 2.异常类:程序在运行时,出现的 ...

  5. 高淇java300集异常机制作业

    1.以下关于异常的代码的执行结果是(C ).(选择一项) 1 2 3 4 5 6 7 8 9 10 11 12 public class Test {     public static void m ...

  6. java第六章异常

    异常: 程序运行一旦出现异常程序就会立刻结束不在向下运行 处理异常:在程序执行代码时,万一发生了异常,程序会按照处理的方法对一场进行处理办法,程序将继续执行 try-catch-finally-thr ...

  7. Java - 二分法查找(尚学堂第七章数组)

    import java.util.Arrays; public class TestBinarySearch { public static void main(String[] args) { in ...

  8. Java - 冒泡排序的优化算法(尚学堂第七章数组)

    import java.util.Arrays; public class TestBubbleSort2 { public static void main(String[] args) { int ...

  9. Java - 冒泡排序的基础算法(尚学堂第七章数组)

    /** * 冒泡排序的基础算法 */ import java.util.Arrays; public class TestBubbleSort1 { public static void main(S ...

随机推荐

  1. 免秘钥oracel官方下载jdk

    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-co ...

  2. static在C和C++里各代表什么含义

    转自:http://blog.csdn.net/wanglongfei_hust/article/details/10011503 static关键字有三种使用方式,其中前两种只指在C语言中使用,第三 ...

  3. SQLServer学习-- SQLServer

    SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行M ...

  4. 暂停、恢复CALayer 动画

    CALayer都是实现了CAMediaTiming协议(或者叫做接口).所以layer的动画有一个很有意思的属性speed.如果一个layer的动画速度变成0.0的时候,很显然这个动画就不再动了.设置 ...

  5. ping别的电脑出错

    原因ifconfig 电脑1:172.31.45.101 电脑2:172.31.188.232 http://ask.csdn.net/questions/178358 如何防止别人ping自己的电脑 ...

  6. Linux daemon与service 学习笔记

    service 常驻在内存中的进程,且可以提供一些系统或网络功能,就是服务.   daemon service的提供需要进程的运行,所以实现service的程序我们称为daemon.   eg: 实现 ...

  7. QPushButton 点击信号分析

    QPushButton 点击信号分析 QPushButton有三个很重要的信号跟点击有关 pressed clicked toggled 表面上看,pressed和clicked都会在点击按钮时触发, ...

  8. 使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况

    使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况 前言 本文在Debian9下采用Docker的方式安装Telegraf + Influxdb + ...

  9. BZOJ3638|CodeForces 280D k-Maximum Subsequence Sum

    题目链接:戳我 一类典型模型.线段树模拟网络流+区间最大K段和. 因为不会写,所以参考了黄学长的博客.但是我觉得他说得不够详细,所以想好好地解释一下: 前置技能1:区间最大子段和 如果K=1的时候怎么 ...

  10. codeVS 动态最大子段和

    题目链接:戳我 对于最大子段和,我们只需要维护四个变量--maxl,maxr,maxs,sum(分别表示区间最大前缀子段和,区间最大后缀子段和,区间最大子段和,区间所有数的和) 然后合并的时候是这样的 ...