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

  • 对百分制成绩评定等级

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

(一)编程实现

  • 思路:有多少种情况,就并列写多少个单分支,分支之间相互独立
  • 第1个分数段:score>100,score∈(100,+∞)-超出范围
  • 第2个分数段:90≤score≤100,score∈[90,100]-优秀
  • 第3个分数段:80≤score<90,score∈[80,90)-良好
  • 第4个分数段:70≤score<80,score∈[70,80) - 中等
  • 第5个分数段:60≤score<70,score∈[60,70) - 及格
  • 第6个分数段:0≤score<60,score∈[0,60) - 不及格
  • 第7个分数段:score<0,score∈(−∞,0) - 超出范围
  • net.huawei.p02.t03创建Task03_1

 

  •  怎么解决这个问题呢?很简单,在处理部分之前将level初始化为空字符串
package net.huawei.p02.t03;

import java.util.Scanner;

/**
 * 功能:采用并列式多分支结构评定成绩等级
 * 作者:华卫
 * 日期:2022年03月31日
 */
public class Task03_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 > 100) level = "超出范围";
        if (score >= 90 && 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 = "不及格";
        if (score < 0) level = "超出范围";

        // 输出部分
        System.out.println(level);
    }
}
  • 运行程序,查看结果(测试七种情况)

 

 

 

 

  • 总结:并列式多分支结构,优点是易于理解,但缺点是效率低(思考一下,为什么效率低)。
  • 其实,这个程序可以作点优化,因为成绩大于100分或小于0分都是超出范围,所以可以将这两个并列的分之合而为一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值