所以我正在做一个家庭作业项目,有一点需要将字母等级放入字符串类型的双精度数组中。因此,我编写了一段代码,以获取double类型的输入“分数”并返回string类型的字母等级。但是Eclipse告诉我我有一个错误,需要返回类型字符串。我不明白我的问题是什么。
public static String getLetterGrade(double score) {
if (90 >= score && score <= 100)
return "A";
if (80 >= score && score < 90)
return "B";
if (70 >= score && score < 80)
return "C";
if (60 >= score && score < 70)
return "D";
if (score < 60)
return "F";
} //end of getLetterGrade()
答案 0 :(得分:2)
默认情况下,您需要返回一些东西,不需要检查最后一个条件。
public static String getLetterGrade(double score) {
if (90 >= score && score <= 100)
return "A";
if (80 >= score && score < 90)
return "B";
if (70 >= score && score < 80)
return "C";
if (60 >= score && score < 70)
return "D";
if (score > 100)
return "Error";
return "F";
}
答案 1 :(得分:1)
您需要返回一个值或引发一个异常,我更愿意在输入无效的情况下引发一个异常,或者您可以返回一个代表无效输入的字符串;或为空。
public static String getLetterGrade(double score) throws Exception{
if (90 >= score && score <= 100)
return "A";
if (80 >= score && score < 90)
return "B";
if (70 >= score && score < 80)
return "C";
if (60 >= score && score < 70)
return "D";
if (score < 60)
return "F";
throw new Exception("Invalid score");
}