第1关:学习-Java多路分支之百分制成绩转换GPA成绩
任务描述
本关任务:给出一个百分制成绩,输出与之对应的 GPA 成绩。
GPA 标准为:
-
优秀(A): 100-90分;
-
良好(B): 80-89分;
-
中等(C): 70-79分;
-
及格(D): 60-69分;
-
不及格(E): 60分以下。
相关知识
为了完成本关任务,你需要掌握: 如何使用 if...else if...else 语句。
if...else if...else 语句
在存在多种情况的场景下,需要使用到判断时,可以考虑使用 if...else if...else 语句。
例如:聊天软件 QQ 的 VIP 等级,有 VIP1、VIP2、VIP3、VIP4、VIP5、VIP6等多种 VIP 等级,而等级的划分依据是用户充值的金额大小,具体划分情况有以下几种。
充值金额 | VIP 等级 |
---|---|
100 | VIP1 |
200 | VIP2 |
300 | VIP3 |
400 | VIP4 |
500 | VIP5 |
600 | VIP6 |
在这里,我们可以通过 if...else if...else 语句,实现对 VIP 等级的划分。
语法
if...else if...else 语法格式如下:
if(布尔表达式 1){
表达式1
}else if(布尔表达式 2){
表达式2
}else if(布尔表达式 3){
表达式3
}else {
表达式4
}
伪代码逻辑为:
- 如果布尔表达式 1 的结果为 True,则执行表达式 1;
- 如果布尔表达式 1 的结果为 False,继续判断布尔表达式 2。如果布尔表达式 2 的结果为 True,则执行表达式 2;
- 如果布尔表达式 2 的结果为 False,继续判断布尔表达式 3。如果布尔表达式 3 的结果为 True,则执行表达式 3;
- 当布尔表达式的结果都为 False 时,则执行表达式 4。
案例:通过 if...else if...else 语句,判断 VIP 的等级。
public static void main(String args[]) {
int x = 300;
if (x == 100) {
System.out.print("贵宾用户:VIP 1");
} else if (x == 200) {
System.out.print("贵宾用户:VIP 2");
} else if (x == 300) {
System.out.print("贵宾用户:VIP 3");
} else {
System.out.print("普通用户");
}
}
执行结果:
贵宾用户:VIP 3
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧 “测试结果”区查看具体的测试集详情。
开始你的任务吧,祝你成功!
源代码:
import java.util.Scanner;
/**
* 任务:给出一个百分制成绩,输出与之对应的 GPA 成绩。
*/
public class ApplicationTest {
/**
* 请在下面的 Begin - End 之间按照注释中给出的提示编写正确的代码
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 声明 int 类型的变量 score 用来获取控制台输入的成绩
int score = scanner.nextInt();
// 声明 char 类型的变量 grade 用来保存学生判断的结果,结果有五种情况,分别为:A、B、C、D、E
char grade;
/********** Begin **********/
// 第一步,判断变量 score 的值是否大于等于 90 并且小于等于 100,如果符合条件,则将 'A' 赋值给变量 grade
if(score>=90&&score<=100){
grade='A';
}
// 第二步,判断变量 score 的值是否大于等于 80 并且小于 90,如果符合条件,则将 'B' 赋值给变量 grade
else if(score>=80&&score<90){
grade='B';
}
// 第三步,判断变量 score 的值是否大于等于 70 并且小于 80,如果符合条件,则将 'C' 赋值给变量 grade
else if(score>=70&&score<80){
grade='C';
}
// 第四步,判断变量 score 的值是否大于等于 60 并且小于 70,如果符合条件,则将 'D' 赋值给变量 grade
else if(score>=60&&score<70){
grade='D';
}
// 第五步,如果以上条件都不满足,则将 'E' 赋值给变量 grade
else{
grade='E';
}
/********** End **********/
System.out.println("该学生的成绩判断为:" + grade);
}
}