我正在尝试用Java编写一个方法,将数字等级转换为字母等级,但是返回时出现错误,我不明白为什么。任何意见都将不胜感激。
P(registration|conference)= 1
P(conference | conference) =1
答案 0 :(得分:0)
问题是,当成绩大于100时,你不会返回任何东西。由于你说明你的方法返回String
,你必须确保每次调用都会返回String
方法(即使使用无效参数作为等级> 100)。只需插入
return "Not a Grade!"; //or something similar
在方法的最后,你会没事的。
答案 1 :(得分:0)
public static String letterGrade(double grade)
期望在所有条件下都有String
个返回值。如果未满足任何条件(在if-else
块中),则不会返回String
。
如果您愿意,最后需要else
条件才会返回String
或null
。
类似的东西:
if (grade <= 100 && grade >= 90) {
return a;
} else if (grade < 90 && grade >= 80) {
return b;
} else if (grade < 80 && grade >= 70) {
return c;
} else if (grade < 70 && grade >= 60) {
return d;
} else if (grade < 60) {
return f;
} else {
return "invalid";
}
答案 2 :(得分:0)
你应该在底部加上一个else语句
if (grade <= 100 && grade >= 90) {
return a;
} else if (grade < 90 && grade >= 80) {
return b;
} else if (grade < 80 && grade >= 70) {
return c;
} else if (grade < 70 && grade >= 60) {
return d;
} else if (grade < 60) {
return f;}
else
return "An error has occured. You entered an invalid grade";
这应该可以解决你的错误。