正在学习Kotlin。指令是为三人一组最少购买的书籍编码,一个团队中的两个人共享一本书。 三个输入变量和一个输出变量(必须为val或var)。如果totalBooks为奇数,则输出应该为(totalBooks + 1)/ 2,否则为totalBooks / 2。
下面是我的代码,它在系统上的Kotlin离线ide上运行,并具有预期的输出值,但是当我在http://play.kotlinlang.org上运行时,它给出的错误粘贴在我的代码下面。
我注意到在我的系统端,以下代码行: totalBooks = totalBooks / 2 给出了一条消息,因此:可替换运算符,我不知道,但是我想这表明在代码运行时出了点问题。请在我必须出错的地方以及为什么它不能在线运行时需要帮助。谢谢
import java.util.Scanner
fun main(args: Array<String>) {
val scanner = Scanner(System.`in`)
val gp1 = scanner.nextInt()//num in 1st group
val gp2 = scanner.nextInt()//num in 2nd group
val gp3 = scanner.nextInt()//num in 3rd group
var totalBooks : Int = gp1 + gp2 + gp3
if (totalBooks%2==0){//checking if totalBooks is even
totalBooks = totalBooks/2
println(totalBooks)
} else {//if totalBooks is odd
totalBooks = (1 + totalBooks)/2
println(totalBooks)
}
}
例外是:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor (Scanner.java:862)
at java.util.Scanner.next (Scanner.java:1485)
at java.util.Scanner.nextInt (Scanner.java:2117)
at java.util.Scanner.nextInt (Scanner.java:2076)
at FileKt.main (File.kt:15)
at FileKt.main (File.kt:-1)