問題:仍然得到B級如果marksObtained低於35Java代碼從標記發現級是不正確
具有存儲在數據庫中的一個陣列,其描述了分級系統
不能使用的switch-case因爲不同的類將有不同的分級系統
String[] gradeDetails = {A,60,100,
B,45,59.99,
C,35,44.99,
D,0,34.99};
用於推導級的邏輯是
int j=0;
while (j<gradeDetails.length/3){
grade = gradeDetails[j++];
min = Float.parseFloat(gradeDetails[j++]);
max = Float.parseFloat(gradeDetails[j++]);
if(marksObtained >= min && marksObtained <= max)
break;
}
- 解決
只是使用了不同的變量不同的增量
j=0;
k=0;
while (k<gradeDetails.length/3){
grade = gradeDetails[j++];
min = Float.parseFloat(gradeDetails[j++]);
max = Float.parseFloat(gradeDetails[j++]);
if(marksObtained >= min && marksObtained <= max)
break;
k++;
}
沒想到的解決辦法是這個愚蠢的。 由於所有
'而(j
assylias
提供[mcve]。 – Gendarme