成绩等级评定
(100, +∞):超出范围
[90, 100]:优秀
[80, 90):良好
[70, 80):中等
[60, 70):及格
[0, 60):不及格
(-∞, 0):超出范围
(一)编程实现
方法一、采用并列式多分支结构评定成绩等级
- 思路:有多少种情况,就并列写多少个单分支,分支之间相互独立
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8fc589bdfb29f159c4cda36017e8aa31.png#pic_center)
- 第1个分数段:
s
c
o
r
e
>
100
,
s
c
o
r
e
∈
(
100
,
+
∞
)
score >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) -超出范围
- 在
net.ouyangyi.p02.t03
创建Task03_1
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cb538808d210f42db500dfd101c30122.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3a92b1c78051e1a3e2e41dee56a270a6.png)
- 怎么解决这个问题呢?很简单,在处理部分之前将level初始化为空字符串
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/16851674643c0a972e55dff4f00d6f5e.png)
- 运行程序,查看结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7a67b83db414efc596651264f3fe87b2.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8af539735d13b80b60e9aef8b74d98ee.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4ce779bb3eb520492a053a7c47d78bd3.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6306ed2927ef95adc4c56a7e8fe09e8b.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9d8c3d56bdac15c26e9152426885cb78.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d60a1654d2649981df6866ba98d45000.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a46ab1ce2c626a6c2018194c5ba4b032.png)
- 总结:并列式多分支结构,优点是易于理解,但缺点是效率低(思考一下,为什么效率低)
- 其实,这个程序可以做点优化,因为成绩大于100分或小于0 分都是超出范围,所以可以将这两个并列的分支合二为一。
方法二、采用嵌套式多分支结构评定成绩等级
思路1:从高分到低分来划分各个分数段
- 在
net.ouyangyi.p02.t03
包里面创建Task03_2
类
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a3e5738be430a8e848707deee808ac49.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b25a35060b0054748631d101bf6928fc.png)
- 运行程序,查看结果(测试七种情况)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ce9ff0e30395076534438e3aac177270.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a281ff0cc653a0085511988f9b51fc74.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7b69ace2725bb35c8abe0f0ff465cb88.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/63f7a5c317700014668d910f94de7175.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4671089424f097a5a7788e4281b6e3d1.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f381b505834ee665878788d452ae3cf8.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6e3987cff6e5aafdeebabf9bcc13b2f9.png)
(二)知识点讲解
- 多分支结构可有四种处理方式:并列式、嵌套式、延拓式、开关式
1、并列式多分支结构
if (条件1) {
语句组1
}
if (条件2) {
语句组2
}
……
if (条件n) {
语句组n
}
2、嵌套式多分支结构
if (条件) {
if (条件1) {
语句组1
} else {
……
}
} else {
if (条件2) {
语句组2
} else {
……
}
}
(三)拓展练习
1、确定给定日期是那一年的第几天
- 要求输入年、月、日,最好能判断用户输入的是否是合法日期
- 比如2022年3月31日,那是今年的第90天(31+28+31=90)
- 比如2000年3月31日,那是2000年的第91天 (31+29+31=91)