Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误:(15,1)Kotlin:A';返回';具有块体(';{…}';)的函数中需要的表达式_Kotlin - Fatal编程技术网

错误:(15,1)Kotlin:A';返回';具有块体(';{…}';)的函数中需要的表达式

错误:(15,1)Kotlin:A';返回';具有块体(';{…}';)的函数中需要的表达式,kotlin,Kotlin,我在这段代码中得到一个错误: fun num(num:Int):Int { if (num > 0){ print(num % 10) return num / 10 } } //here an error 错误:(15,1)Kotlin:具有块体(“{…}”)的函数中需要一个“return”表达式 这意味着什么以及如何修复它?在函数体中,执行路径可能不包含return语句,因为唯一的return语句放在if(…){…}块中。如果条件不满

我在这段代码中得到一个错误:

fun num(num:Int):Int {
    if (num > 0){ 
        print(num % 10)
        return num / 10
    }
} //here an error
错误:(15,1)Kotlin:具有块体(“{…}”)的函数中需要一个“return”表达式


这意味着什么以及如何修复它?

在函数体中,执行路径可能不包含
return
语句,因为唯一的
return
语句放在
if(…){…}
块中。如果条件不满足,则不返回任何内容

具有声明值类型(
fun num(num:Int):Int)的函数应始终返回该类型的值,并且当它具有块体时,应使用
return
语句来完成该操作,其中一个语句应始终被访问

您可以通过在
if
块后添加另一个
return
语句来解决此问题:

fun num(num: Int): Int {
    if (num > 0) { 
        print(num % 10)
        return num / 10
    }
    return -1 // some default value
}

使用下面的函数

private fun validate(): Boolean {
    return when {
        TextUtils.isEmpty(binding.edtName.text) -> {
            Toast.makeText(this, getString(R.string.please_enter_your_name), Toast.LENGTH_LONG).show()
            false
        }
        TextUtils.isEmpty(binding.edtEmail.text) -> {
            Toast.makeText(this, getString(R.string.please_enter_your_email), Toast.LENGTH_LONG).show()
            false
        }
        else -> true
    }
}

请将此文件格式化,使其清晰易读。谢谢。请同时阅读本指南:因为您需要在
其他
条件的一半中返回一些内容。也就是说,如果您没有进入
if
,也没有
返回任何内容。不要忘记'if'是一个表达式,因此您可以使用
返回if
,而不必在'if'中返回。这是一种后天养成的嗜好,特别是如果您已经编写Java代码很长时间了,但现在它是我的首选。然后可以将其转换为表达式体。