分数判断

本文介绍了一个使用Java编写的程序,该程序能够接受用户输入的考试成绩,并根据成绩范围输出相应的等级评定,包括‘不及格’、‘及格’、‘中等’、‘良好’和‘优秀’。程序具备健壮性,能处理各种输入情况,避免因非法输入导致的崩溃。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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]+))?)$");
    }

}

 

转载于:https://www.cnblogs.com/b-l-java/p/6103087.html

Java 中,“分数判断”通常涉及对数值范围、比较以及特定条件下的操作。以下是关于“分数判断”的基本思路和实现步骤: ### 分数判断的基本逻辑 假设我们需要编写一个程序来根据学生成绩判断等级(例如 A、B、C 等)。可以按照以下步骤设计代码: 1. **输入成绩**:通过键盘或其他方式获取学生的分数。 2. **设定规则**:明确各个评分区间的对应等级,如 90~100 是 A;80~89 是 B;70~79 是 C……以此类推。 3. **嵌套 if-else 或 switch-case 结构**:根据用户输入的成绩值匹配对应的区间,并返回相应的结果。 #### 示例代码: ```java import java.util.Scanner; public class GradeJudgment { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入您的考试分数 (0-100): "); double score = scanner.nextDouble(); // 判断分数是否有效 if(score < 0 || score > 100){ System.out.println("您输入的分数无效!"); } else { String grade; if (score >= 90 && score <= 100) grade = "A"; else if (score >= 80 && score < 90) grade = "B"; else if (score >= 70 && score < 80) grade = "C"; else if (score >= 60 && score < 70) grade = "D"; else grade = "E"; System.out.println("您的成绩等级是:" + grade); } scanner.close(); } } ``` ### 解释关键点: 1. 输入校验 - 对用户的非法输入做处理; 2. 使用 `if...else` 条件分支结构逐层筛选符合条件的结果; 3. 提供反馈信息给用户展示最终评价结果。 如果需要进一步优化此功能还可以考虑加入异常捕获机制提高鲁棒性和用户体验感!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值