克服线程“主”中的异常java.util.NoSuchElementException错误

时间:2019-12-19 14:58:28

标签: java variables kotlin java.util.scanner

正在学习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) 

0 个答案:

没有答案