为什么这个switch语句没有识别subString?

 你好2502898737 发布于 2023-02-12 11:22

我创建一个类Course代表有三个属性的课程对象courseID,letterGradenumberGrade.

numberGradeletterGrade使用该computeGrade()方法计算的.我正在测试我的Course课程并发现使用的switch语句computeGrade无法识别相关内容substring.

为什么会这样?

public void computeGrade() {
    switch (letterGrade.substring(0,1)) {
        case "A": numberGrade = 4.0;
        case "B": numberGrade = 3.0;
        case "C": numberGrade = 2.0;
        case "D": numberGrade = 1.0;
        case "F": numberGrade = 0.0;
        default: numberGrade = 999;
    }
    if(letterGrade.endsWith("+") && !letterGrade.startsWith("A") && !letterGrade.startsWith("F")) {
        numberGrade += 0.3;
    }
    else if(letterGrade.endsWith("-") && !letterGrade.startsWith("D") && !letterGrade.startsWith("F")) {
        numberGrade -= 0.3;
    }
}

我的测试人员循环了一系列可能的等级

public static void main(String[] args) {
    String[] grades = {"A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "F"};
    Course course = new Course("COP2253", " ");
    String toString;
    for (int i = 0; i < grades.length; i++) {
        course.updateGrade(grades[i]);
        toString = course.toString();
        System.out.println(toString + "\n");

    }

具有以下输出

COP2253     A   999.0
COP2253     A-  998.7
COP2253     B+  999.3
COP2253     B   999.0
COP2253     B-  998.7
COP2253     C+  999.3
COP2253     C   999.0
COP2253     C-  998.7
COP2253     D+  999.3
COP2253     D   999.0
COP2253     F   999.0

PS我相当肯定构造函数,

public Course(String courseID, String letterGrade) {
    this.courseID = courseID;
    this.letterGrade = letterGrade;
    computeGrade();
}

updateGrade(),

public void updateGrade(String grade) {
    letterGrade = grade;
    computeGrade();
}

toString()

public String toString() {
    String grade = courseID + "\t\t" + letterGrade + "\t" + numberGrade;
    return grade;
}

不是问题.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有