是否可以创建一个循环,每次完成执行时调用一个方法?我想在每次方法执行完毕时不断地调用相同的方法。
我是一个初学者,我只看到循环工作每x次,但我不知道是否有可能做到这一点。
您可以使用以下命令来实现:
fun loop(){
var counter = 0
var run = true
while(run){
counter++
if(counter > 100)
run = false
// call method here
}
}
这将调用一个方法的100倍。当您移除run参数并放置while(true)
时,代码将无限运行。但是,不建议这样做。
是的,您可以使用递归。递归通常用于将大问题分解为在其主体内调用相同方法的小问题。下面是kotlin
中的一个示例fun main(args: Array<String>) {
val number = 5
val result: Long
result = factorial(number)
println("Factorial of $number = $result")
}
fun factorial(n: Int): Long {
return if(n == 1){
n.toLong()
}
else{
n*factorial(n-1)
}
}
在这个例子中,我们用递归函数计算给定数的阶乘。为了进一步分解它,它看起来像这样。
factorial(5)
factorial(4)
factorial(3)
factorial(2)
factorial(1)
return 1
return 2*1 = 2
return 3*2 = 6
return 4*6 = 24
return 5*24 = 120