题目的主要信息:
- 现有如下成绩等级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属于判断语句,常数时间
- 空间复杂度:,无额外空间

 京公网安备 11010502036488号
京公网安备 11010502036488号