分数判断

编写一个程序,此程序在运行时要求用户输入一个    整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。
要求程序必须具备足够的健壮性,不管用户输入什    么样的内容,都不会崩溃。

import java.util.Scanner;
/***
 *
 * @author 吕鹏博
 *2016年11月25日 21:15:13
 */
class MyException extends Exception{
    public MyException(String msg){
        super(msg);
    }
}
public class GradeJudgement {

    public static void main(String[] args) throws MyException{
        String message="";
        double value=0;
        System.out.println("请输入需要判断的成绩");
        Scanner s=new Scanner(System.in);
        try{
        message=s.nextLine();
        if(!isNum(message)){
            MyException s1=new MyException("输入非数字,请重新输入。");
            throw s1;
        }
        try{
            value=Double.parseDouble(message);
            if(value<0){
                MyException s2=new MyException("输入数值小于零,请重新输入。");
                throw s2;
            }}
        catch(MyException s2){System.out.println(s2);System.exit(0);}
        }
        catch(MyException s1){
            System.out.println(s1);
            System.exit(0);
        }
        finally{
            if(value<60){
            System.out.println("该门课程成绩不及格。");
            }
            else if(value<70){
                System.out.println("该门课程成绩及格。");
            }
            else if(value<80){
                System.out.println("该门课程成绩中等。");
            }
            else if(value<90){
                System.out.println("该门课程成绩良好。");
            }
            else if(value<100){
                System.out.println("该门课程成绩优秀。");
            }
            else{
                System.out.println("输入值非法,无法判断。");
            }
        }

    }
    public static boolean isNum(String str){
        return str.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");
    }

}

时间: 2024-10-24 19:37:17

分数判断的相关文章

小程序--利用数组存放分数判断等级

/* * 从键盘输入学生成绩,找出最高分,并输出学生等级 * 提示:先读入学生个数,根据学生人数创建数组,存放学生成绩*/package com.alhh.java;import java.util.*;public class TestWf { public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println("请输入学生的个数"); int count=in.n

C++入门经典-例3.2-根据分数判断是否优秀

1:代码如下: // 3.2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using namespace std; void main() { int iInput; cout<<"大于90为优秀成绩"<<endl; cout<<"请输入学生成绩"<<endl; cin >> iInput;

c#基础 1,100以内的与7相关的数字;2,计算器,3,判断是不是一个正整数,4,判断体重

//输出语句   Console.ReadLine();           //输入语句    Console.WriteLine();            /// 给函数加注解:            /**/  //一段区域           // 数据类型            //  1,整型 int:            //  2,浮点型 double:            //  3,字符串型 string;            //  4,布尔型 bool (1)tr

1,判断是否为正整数 2 判断体重

//语法            //选择语句 if,else:switch case;            //循环语句 do,for;foreach;while ;            //跳转语句 break,continue,return ;            //异常语句 try catch ,finally; //例题            //    1,输入一个正整数,判断是不是一个正整数            //Console.Write("请输入一个整数")

四则运算修改完善

1.Random处理 在最开始的设计中,每一次调用random.Next()的时候,都是新建的Random random.导致了在运行过程中,每一次结果都有重复的表达式,甚至全部一样,而在自己调试的过程中却发现并不是这样.于是查阅资料以及询问同学,才知道实际运行过程中,因为时间非常短暂,所以造成随机数不随机的情况. public expression carryOut(){ // Random random = new Random(); //每一个表达式的每一个数字及符号生成 int i=0;

基于c编写的关于随机生成四则运算的小程序

基于http://www.cnblogs.com/HAOZHE/p/5276763.html改编写的关于随机生成四则运算的小程序 github源码和工程文件地址:https://github.com/HuChengLing/- 基本要求: 除了整数以外,还能支持真分数的四则运算. 对实现的功能进行描述,并且对实现结果要求截图. 主要功能:运算小学四则运算,可以选择加减乘除以及混合运算. 设计思想:首先思考运算数字范围,考虑小学生的运算能力,然后分类运算方法,分为加减乘除混合运算, 然后可以选择是

4月27日--28日课堂内容

语句 语句的分类 * 一.顺序语句 * 二.分支语句(选择语句) * 三.循环语句 二.选择语句(分支语句/条件语句)  if  else 1.定义 if是如果的意思,else是另外的意思,if后面跟()括号内为判断条件,如果符合条件则进入if语句执行命令.如果不符合则不进入if语句.else后不用加条件,但是必须与if配合使用,else后也可加if,但if后需要条件.If-else可以嵌套. 2.格式 (1)格式1: if (…) //括号内是判断条件 { //程序代码,运算等等 } (2)格

12-11面向对象--封装、构造函数

三.类的属性--封装字段 包含两个方法: 1.读访问器:get(取值) 2.写访问器:set(赋值) ///==封装== private string _Nihao;//原有的普通变量private私有的,通过右键--重构--封装字段实现:  /*{ get{return _Name;}//默认一直存在get和set两个方法,但是一直隐藏信息的特性: set{_Name = value;}  }*/ //封装字段  public string Name//封装之后的属性,public公共的, 

1211面向对象--封装、构造函数

三.类的属性--封装字段 包含两个方法: 1.读访问器:get(取值) 2.写访问器:set(赋值) ///==封装==private string _Nihao;//原有的普通变量private私有的,通过右键--重构--封装字段实现:  /*{get{return _Name;}//默认一直存在get和set两个方法,但是一直隐藏信息的特性:set{_Name = value;}  }*///封装字段  public string Name//封装之后的属性,public公共的,  //相当