【发布时间】:2019-02-07 19:37:45
【问题描述】:
此方法假设计算获得的分数的平均值并相应地返回分数。 我如何将成绩从 switch() 传递到 calculate() 以便它可以返回正确的成绩?
public char calculate(){
int count=0;
int total = 0;
for (int x: testScores){
total = total + x;
count++;
}
int grade = total/count;
switch(grade){
case (1): if (grade>=90) return 'O';
break;
case(2): if (grade>=80 && grade<90) return 'E';
break;
case (3): if (grade>=70 && grade<80) return 'A';
break;
case (4): if (grade>=55 && grade<70) return 'P';
break;
case (5): if (grade>=40 && grade<55) return 'D';
break;
case (6): if (grade<40) return 'E';
break;
}
return //what should i return here??
}
我知道如何在没有 switch() 的情况下做到这一点,但我认为也可以这样做。 请告诉我我错过了什么?
【问题讨论】:
-
如果切换
grade时匹配case (1),则匹配grade == 1,所以不是>= 90。我觉得你有点糊涂了。 -
简单地返回一些虚拟值 - 没关系 - 只是为了让编译器静音。 (编译器未检测到,该行不可达)
标签: java methods switch-statement return