这是我正在运行的代码:
fun main(args: Array<String>) {
var app = App()
app.fibonacci(8, object : Process {
override fun execute(value: Int) {
println(value)
}
})
}
interface Process {
fun execute(value: Int)
}
class App {
fun fibonacci(limit: Int, action: Process) {
var prev = 0
var prevprev = 0
var current = 1
for (i: Int in 1..limit) {
action.execute(current)
var temp = current
prevprev = prev
prev = temp
current = prev + prevprev
}
}
}
当我运行此代码时,我收到此错误:
Exception in thread "main" java.lang.NoSuchMethodError: App.fibonacci(ILProcess;)V
at HigherlevelKt.main(higherlevel.kt:3)
当我重新编译代码时,它运行得很好。
当我重建项目时&amp;再次运行程序,它会产生同样的错误。
真正发生了什么?
我使用的是IntelliJ IDEA 2017.1.1 EAP,&amp; Kotlin编译器版本 1.1.2-2