Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Kotlin n必须为正碰撞_Java_Android_Kotlin - Fatal编程技术网

Java Kotlin n必须为正碰撞

Java Kotlin n必须为正碰撞,java,android,kotlin,Java,Android,Kotlin,我得到了一个错误,堆栈跟踪显示: 原因:java.lang.IllegalArgumentException:n必须为正。 这行代码显示了bug。在我学习制作这个应用程序的教程中,他们修复了这个问题:if(pieces.size>=2)。但是 很明显,它不起作用了 private fun readDictionaryfile(){ val reader = Scanner(resources.openRawResource(R.raw.recidva)) whi

我得到了一个错误,堆栈跟踪显示: 原因:java.lang.IllegalArgumentException:n必须为正。 这行代码显示了bug。在我学习制作这个应用程序的教程中,他们修复了这个问题:if(pieces.size>=2)。但是 很明显,它不起作用了

 private fun readDictionaryfile(){
        val reader = Scanner(resources.openRawResource(R.raw.recidva))
        while (reader.hasNextLine()){
            val line = reader.nextLine()
            Log.d("Mihajlo","the line is:$line")
            val pieces = line.split("\t")
            if (pieces.size >= 2){
            words.add(pieces[0])
            wordToDefn.put(pieces[0],pieces[1])
            }
        }
    }
private fun setupList() {
        val rand = Random()
        val index = rand.nextInt(words.size)
        val randomWor = words[index]
        randomWord.text = randomWor

        defn.clear()
        defn.add(wordToDefn[randomWor]!!)
        words.shuffle()
        for (otherWord in words.subList(0,4)){
            if (otherWord == randomWor || defn.size > 5){
                continue
            }
            defn.add(wordToDefn[otherWord]!!)
        }
        defn.shuffle()

您正在尝试从0生成一个小于0的随机数。给它一个正数,这样它可以给你一个合理的结果。检查words.size它应该大于0

我猜你的words.size给出0,因为单词是空的。然后您尝试使用该值->0进行随机操作。你不能这样做,你必须随机选择1或更高。这就是为什么会出现这个错误


只需检查单词是否为空,然后尝试随机选择

它显示了这几行上的错误,到底是哪一行?val index=rand.nextInt(words.size)@MihajloMilosevic您的word.size返回0,因为您的单词列表为空。您可以将第一个数据添加到单词列表中,然后尝试生成random@MihajloMilosevic如果这对您有效,请检查为接受答案