我无法将if表达式转换为whenkotlin 中的表达式。我的如果代码如下:
fun main() {
var cardPoints = 7_000
val cardLevel: String = if (cardPoints >= 0 && cardPoints < 1000) {
"pearl"
} else if (cardPoints >= 1000 && cardPoints < 5_000) {
"silver"
} else if (cardPoints >= 5_000 && cardPoints < 10_000) {
"gold"
} else {
"platinum"
}
val plural = if(cardPoints > 1 || cardPoints == 0) "s" else ""
println("You have $cardPoints point$plural and are at the $cardLevel level.")
}
Run Code Online (Sandbox Code Playgroud)
但是,我现在必须将其转换为“When”表达式(最好在范围内),这就是我目前所拥有的:
fun main() {
var cardPoints = 7_000
val cardLevel: String = when {
cardPoints >= 0 && cardPoints < 1000 -> "pearl"
cardPoints >= 1000 && cardPoints < 5_000 -> "silver"
cardPoints >= 5_000 && cardPoints < 10_000 -> "gold"
else -> "platinum"
}
val plural = if(cardPoints > 1 || cardPoints == 0) "s" else ""
println("You have $cardPoints point$plural and are at the $cardLevel level.")
}
Run Code Online (Sandbox Code Playgroud)
我不确定还需要调整什么,或者我是否完全遗漏了什么。我将不胜感激任何帮助和建议。谢谢。
您可以range与in操作员一起使用来解决问题。
var cardPoints = 7000
val cardLevel: String = when {
cardPoints in 0..999 -> "pearl"
cardPoints in 1000..4999 -> "silver"
cardPoints in 5000..9999 -> "gold"
else -> "platinum"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
211 次 |
| 最近记录: |