首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NoSuchElementException java.lang.Scanner

NoSuchElementException java.lang.Scanner
EN

Stack Overflow用户
提问于 2020-09-15 08:23:29
回答 1查看 59关注 0票数 0

我不知道错误是什么,我很难适应这门语言,任何帮助都非常感谢。

错误:

代码语言:javascript
复制
Exception in thread "main" java.util.NoSuchElementException
    at java.base/java.util.Scanner.throwFor(Scanner.java:937)
    at java.base/java.util.Scanner.next(Scanner.java:1594)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
    at Packing.<init>(Packing.kt:100)
    at PackingKt.main(Packing.kt:7)
    at PackingKt.main(Packing.kt)

我的代码:

代码语言:javascript
复制
import java.io.InputStream
import java.util.Scanner

fun main() {
    val input = Scanner(InputStream.nullInputStream())

    val packing1 = Packing(input)
    val packing2 = Packing(input)
    val packing3 = Packing(input)

    var total = 0
    var min = 0
    val combinations = ArrayList<String>()

    for(a in 1..3){
        for(b in 1..3){
            for(c in 1..3){
                //here is a piece of code
            }
        }

        combinations.sort()
        println("${combinations.get(0)} $min")
    }
}

class Packing {

    var brownBottles = 0
    var greenBottles = 0
    var clearBottles = 0

    constructor (input : Scanner){
        brownBottles = input.nextInt() //this is the line 100
        greenBottles = input.nextInt()
        clearBottles = input.nextInt()
    }
}

这个想法是通过控制台输入值,初始化我的对象的变量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-15 08:56:54

我只会使用

代码语言:javascript
复制
val input = Scanner(System.`in`)

如果您在控制台中输入9个整数,则打包对象的初始化应该可以正常工作。nullInputStream()对我来说毫无意义。这是不可能从控制台读取的。

组合列表为空,因此它在访问该列表时抛出异常

代码语言:javascript
复制
println("${combinations.get(0)} $min")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63893412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档