【发布时间】:2019-08-15 13:25:25
【问题描述】:
我需要将平均分数与字母等级相匹配。这意味着
if (90 < avg && avg < 100) {
return 'A';
}
以此类推,直到 'F',带有 5 个 if-else 语句。
这是很多重复,我匹配的范围是相同的长度。
有没有更有效的方法来做到这一点?我不想重复 if-else 语句 5 次。
【问题讨论】:
-
整数除以10,然后使用
switch。 -
这个问题正在meta讨论
-
@Trilarion 成绩总是整数吗?,
ifstatement 永远不会捕获 10 的倍数,这是故意的吗?,90 是“A”还是“B”?,什么大约100?那是比“A”更高的等级还是“A”?if语句有什么问题?什么样的答案,一个复杂的高性能答案?一个容易理解的?名单还在继续…… -
@NickA SO 在这种情况下的一个技巧是让问题适应答案,不管是谁做的。如果有用的答案被忽略,那将是很遗憾的,只是因为提问者的回答不正确。
标签: java if-statement range code-duplication