文章目录
- 对百分制成绩评定等级
(100, +∞):超出范围
[90, 100]:优秀
[80, 90):良好
[70, 80):中等
[60, 70):及格
[0, 60):不及格
(-∞, 0):超出范围
(一)编程实现
方法一、采用并列式多分支结构评定成绩等级
- 思路:有多少种情况,就并列写多少个单分支,分支之间相互独立
- 在net.huawei.p02.t03创建Task03_1
- 怎么解决这个问题呢?很简单,在处理部分之前将level初始化为空字符串.
- 运行程序,查看结果(测试七种情况)
- 总结:并列式多分支结构,优点是易于理解,但缺点是效率低(思考一下,为什么效率低),其实这个程序可以作点优化,因为成绩大于100分或小于0分都是超出范围,所以可以将这两个并列的分之合而为一。
方法二、采用嵌套式多分支结构评定成绩等级
- 思路1、从高分到低分来划分各个分数段
- 在net.huawei.p02.t03包里创建Task03_2类
- 运行程序,查看结果(测试七种情况)
- 思路2、从低分到高分来划分各个分数段
- 在net.huawei.p02.t03包里创建**Task03_2_**类
- 运行程序,查看结果(测试七种情况)
- 总结:嵌套式多分支结构,优点是层次分明、效率高,但缺点是嵌套层次太多时显得很繁。
方法三、采用延拓式多分支结构评定成绩等级
- 思路1:从高分到低分来划分各个分数段
- 在net.huawei.p02.t03包里创建Task03_3类
- 运行程序,查看结果
- 思路2、从低分到高分来划分各个分数段
- 在net.huawei.p02.t03包里创建**Task03_3_**类
- 运行程序,查看结果
- 总结:延拓式多分支结构,优点是只有一层,并且效率高。希望同学们务必掌握这一种多分支处理方式。
方法四、采用开关式多分支结构评定成绩等级
- 关键点在于将成绩变量整除10,以便将各个分数段转换成离散的整数值,这样才能用开关式多分支结构来进行处理。
- 在net.huawei.p02.t03包里创建Task03_4类
- 运行程序,查看结果
- 总结:开关式多分支结构,优点是书写简洁,并且效率高,但缺点是只能针对离散型的情况进行处理。开关式多分支结构里的测试表达式,类型可以是整数、字符、甚至可以是字符串。
(二)讲解知识点
- 多分支结构可有四种处理方式:并列式、嵌套式、延拓式、开关式
1、并列式多分支结构
2、嵌套式多分支结构
3、延拓式多分支结构
4、开关式多分支结构
(三)拓展练习
任务1、确定给定日期是一年的第几天
- 要求输入年、月、日,最好能判断用户输入的是否是合法日期
- 比如2022年3月31日, 那是今年的第90天(31 + 28 + 31 = 90)
- 比如2000年3月31日,那是2000年的第91天(31 + 29 + 31 = 91)
任务 2、构建可进不可退的多级菜单系统
- 采用开关式多分支结构来实现菜单系统
- 在net.huawei.p02.t03包里创建XExercise02类
- 先完成一级菜单
- 运行程序,查看结果
- 采用模块化思想,创建一个登录方法 login(),然后再用户选择1菜单项时调用它
- 编写**login()**方法
- 运行程序,测试登录方法
- 登录成功之后,定义名片管理方法 - cardManagment()
- 编写**cardManagement()**方法代码
- 运行程序,测试名片管理方法
- 现在这个菜单系统是可进但是不可退,有一个入口,但有多个入口,等我们学了循环结构之后,我们可以改进这个菜单系统,使之成为可进可退的多级菜单系统,保证系统只有唯一的入口和唯一的出口。
任务3、根据收入计算个人所得税
- 个人所得税税率表一(综合所得适用)