成绩等级评定

任务3、成绩等级评定

对百分制成绩评定等级

(100, +∞):超出范围
[90, 100]:优秀
[80, 90):良好
[70, 80):中等
[60, 70):及格
[0, 60):不及格
(-∞, 0):超出范围

(一)编程实现

方法一、采用并列式多分支结构评定成绩等级

第1个分数段: s c o r e > 100 , s c o r e ∈ ( 100 , + ∞ ) score \gt 100, score \in (100, +\infty) score>100,score∈(100,+∞) - 超出范围

第2个分数段: 90 ≤ s c o r e ≤ 100 , s c o r e ∈ [ 90 , 100 ] 90 \le score \le 100, score \in [90, 100] 90≤score≤100,score∈[90,100] - 优秀

第3个分数段: 80 ≤ s c o r e < 90 , s c o r e ∈ [ 80 , 90 ) 80 \le score \lt 90, score \in [80, 90) 80≤score<90,score∈[80,90) - 良好

第4个分数段: 70 ≤ s c o r e < 80 , s c o r e ∈ [ 70 , 80 ) 70 \le score \lt 80, score \in [70, 80) 70≤score<80,score∈[70,80) - 中等

第5个分数段: 60 ≤ s c o r e < 70 , s c o r e ∈ [ 60 , 70 ) 60 \le score \lt 70, score \in [60, 70) 60≤score<70,score∈[60,70) - 及格

第6个分数段: 0 ≤ s c o r e < 60 , s c o r e ∈ [ 0 , 60 ) 0 \le score \lt 60, score \in [0, 60) 0≤score<60,score∈[0,60) - 不及格

第7个分数段: s c o r e < 0 , s c o r e ∈ ( − ∞ , 0 ) score \lt 0, score \in (-\infty, 0) score<0,score∈(−∞,0) - 超出范围

在p02.t03创建Task3_1

在这里插入图片描述在这里插入图片描述

package a01.b01.c03;

import java.awt.*;
import java.util.Scanner;

/**
 * 功能:采用并列式多分支结构评定成绩等级
 * 作者:李悦
 * 日期:2022年03月31日
 */
public class Task3_1 {
    public static void main(String[] args) {
        //声明部分
        int score;
        String level;
        Scanner sc = new Scanner(System.in);

        //输入部分
        System.out.print("score = ");
        score = sc.nextInt();

       //处理部分
        level = "";
        if(score <0 || score > 100) level = "超出范围";
        if (score >= 99 && score <=100) level = "优秀";
        if (score >= 80 && score <=90) level = "良好";
        if (score >= 70 && score <=80) level = "中等";
        if (score >= 60 && score <=70) level = "及格";
        if (score >= 0 && score <=60) level = "不及格";

        //输出部分
        System.out.println(level);
    }
}

· 运行结果
在这里插入图片描述· 总结:并列式多分支结构,优点是易于理解,但缺点是效率低

方法二、采用嵌套式多分支结构评定成绩等级

· 创建Task03_2

在这里插入图片描述

package a01.b01.c03;

import java.util.Scanner;

/**
 * 功能:采用嵌套式多分支结构评定成绩等级
 * 作者:李悦
 * 日期:2022年03月31日
 */
public class Task03_2 {
    public static void main(String[] args) {
        //声明部分
        int score;
        String level;
        Scanner sc = new Scanner(System.in);

        //输入部分
        System.out.print("score = ");
        score = sc.nextInt();

        //处理部分
        level = "";
        if (score > 100) {
            level = "超出范围";
        } else {
            if (score >= 90) {
                level = "优秀";
            } else {
                if (score >= 80) {
                    level = "良好";
                } else {
                    if (score >= 70) {
                        level = "中等";
                    } else {
                        if (score >= 60) {
                            level = "及格";
                        } else {
                            if (score > 0) {
                                level = "超出范围";
                            }
                        }
                    }
                }
            }

        }
        // 输出部分
        System.out.println(level);
    }
}

· 输出结果
在这里插入图片描述

方法三、采用延拓式多分支结构评定成绩等级

· 创建Task03_3在这里插入图片描述

package a01.b01.c03;

import com.sun.source.util.SourcePositions;

import java.util.Scanner;

/**
 * 功能:采用延拓式多分支结构评定成绩等级
 * 作者:李悦
 * 日期:2022年04月07日
 */
public class Task03_3 {
        public static void main(String[] args) {
            //声明部分
            int score;
            String level;
            Scanner sc = new Scanner(System.in);

            //输入部分
            System.out.print("score = ");
            score = sc.nextInt();

            //处理部分
            level = "";
            if (score > 100) {
                level = "超出范围";
            } else if (score >= 90) {
                level = "优秀";
            } else if (score >= 80) {
                level = "良好";
            } else if (score >= 70) {
                level = "中等";
            } else if (score >= 60) {
                level = "及格";
            } else if (score >= 0) {
                level ="不及格";
            }

            //输出部分
            System.out.println(level);
        }
}

· 输出结果
在这里插入图片描述

方法四、采用开关式多分支结构评定成绩等级

· 创建Task03_4
在这里插入图片描述

package a01.b01.c03;

import java.util.Scanner;

/**
 * 功能:
 * 作者:李悦
 * 日期:2022年04月07日
 */
public class Task03_4 {
    public static void main(String[] args) {
        //声明部分
        int score;
        String level;
        Scanner sc = new Scanner(System.in);

        //输入部分
        System.out.print("score = ");
        score = sc.nextInt();

        //处理部分
        level = "";
        if (score < 0 || score > 100) {
            level = "超出范围";
        } else {
            switch (score / 10) {
                case 10:
                case 9:
                    level = "优秀";
                    break;
                case 8:
                    level = "良好";
                    break;
                case 7:
                    level = "中等";
                    break;
                case 6:
                    level = "及格";
                    break;
                default:
                    level = "不及格";
            }
        }
        // 输出部分
        System.out.println(level);
        }
}

(二)讲解知识点

多分支结构可有四种处理方式:并列式、嵌套式、延拓式、开关式

· 1、并列式多分支结构

if (条件1) {
    语句组1
}
if (条件2) {
    语句组2
}
……
if (条件n) {
    语句组n
}

· 2、嵌套式多分支结构

if (条件) {
    if (条件1) {
       语句组1
    } else {
       ……
    }
} else {
    if (条件2) {
       语句组2
    } else {
       ……
    }
}

· 3、延拓式多分支结构

if (条件1) {
    语句组1
} else if (条件2) {
    语句组2
} 
……
} else if (条件n) {
    语句组n
} else {
    语句组n+1
}

· 4、开关式多分支结构

switch (测试表达式) {
    case 值1:
        语句组1
        break;
    case 值2:
        语句组2
        break;
     ……
    case 值n:
        语句组n
        break;
    default:
        语句组n+1
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值