题目的主要信息:
- 现有如下成绩等级A,B,C,D,其中A代表优秀,B代表良好,C代表及格,D代表不及格
- 根据输入的字母等级输出相应中文分级
- 如果出现错误输入提示未知等级
具体做法:
对于多路径选择的问题,我们可以用switch-case来解决,switch中的变量就是我们比较的变量,它会与每个case中的值逐一比较(先后顺序),进入相等的case后面的代码块。我们可以在将case的值设置成"A"、"B"、"C"、"D",来输出相应等级。最后处理上述四个等级都不是情况,用default解决。
A | B | C | D | 其他输入 |
---|---|---|---|---|
优秀 | 良好 | 及格 | 不及格 | 未知等级 |
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String grade =scanner.next();
switch(grade){ //利用switch判断grade等于哪个等级
case "A":
System.out.println("优秀"); break;
case "B":
System.out.println("良好"); break;
case "C":
System.out.println("及格"); break;
case "D":
System.out.println("不及格"); break;
default: //排除上述四个等级就是未知
System.out.println("未知等级");
}
}
}
复杂度分析:
- 时间复杂度:,switch-case属于判断语句,常数时间
- 空间复杂度:,无额外空间