图中这个编译没有错误为什么运行的时候会报错,运行不了呢。那个错误是什么原因?
把 module-info.java 删掉,再编译运行试试
jdk 你用自己安装的jdk,我看着这个像是 eclipse自带的
若函数在尾位置调用自身(或是一个尾调用本身的其他函数等等),则称这种情况为尾递归。尾递归也是递归的一种特殊情形。尾递归是一种特殊的尾调用,即在尾部直接调用自身的递归函数。对尾递归的优化也是关注尾调用的主要原因。尾调用不一定是递归调用,但是尾递归特别有用,也比较容易实现。
Kotlin代码实现一个n的累加的函数
fun tailRecursive(index:Int, total:Int):Int {
if (index == 1) {
return 1 + total
} else {
return tailRecursive(index - 1, total+index) //在尾部调用自身
}
}