Kotlin:未解析的引用

Kotlin:未解析的引用,kotlin,Kotlin,Kotlin:未解析的引用:totalFee 我只是在做这个小的虚拟程序来练习,但是它说当试图将值打印到屏幕上时,totalFee是无法解决的。我已经看了一段时间了,不知道为什么。 daysRented是以前在程序中声明的int。 if(daysRented使用此代码 val totalFee: Int if (daysRented <= 10){ if(insPolicy){ totalFee = (shortTermRate * daysRented) + (i

Kotlin:未解析的引用:totalFee

我只是在做这个小的虚拟程序来练习,但是它说当试图将值打印到屏幕上时,
totalFee
是无法解决的。我已经看了一段时间了,不知道为什么。
daysRented
是以前在程序中声明的int。

if(daysRented使用此代码

val totalFee: Int
if (daysRented <= 10){
    if(insPolicy){
       totalFee = (shortTermRate * daysRented) + (insRate * daysRented)
    }
    else{
        totalFee = shortTermRate * daysRented
    }
}
else{
    if(insPolicy){
        totalFee = (longTermRate * daysRented) + (insRate * daysRented)
    }
    else{
        totalFee = longTermRate * daysRented
    }
}
println("Rental fee: $totalFee")
val totalFee:Int

if(daysreferent
如果
是一个表达式,那么我将这样写

val totalFee = if (daysRented <= 10){
    if(insPolicy == true){ // can just be if (insPolicy)
        (shortTermRate * daysRented) + (insRate * daysRented)
    }
    else{
        shortTermRate * daysRented
    }
}
else{
    if(insPolicy == true){
        (longTermRate * daysRented) + (insRate * daysRented)
    }
    else{
        longTermRate * daysRented
    }
}

在这种情况下,我不建议使用这种方式。只有当存在多个变量,或者作业不是最后的操作时,才建议使用这种方式。谢谢!这对我很有效。我也很感谢您向我展示如何缩短它。谢谢您的帮助您可能希望接受答案:
val totalFee = if (daysRented <= 10){
    if(insPolicy == true){ // can just be if (insPolicy)
        (shortTermRate * daysRented) + (insRate * daysRented)
    }
    else{
        shortTermRate * daysRented
    }
}
else{
    if(insPolicy == true){
        (longTermRate * daysRented) + (insRate * daysRented)
    }
    else{
        longTermRate * daysRented
    }
}
val termRate = if (daysRented <= 10) shortTermRate else longTermRate 
val totalFee = 
    if (insPolicy) {
        (termRate * daysRented) + (insRate * daysRented)
    } 
    else {
        termRate * daysRented
    }
val totalFee = termRate * daysRented + 
    (if (insPolicy) insRate * daysRented else 0)