用循环的数组输入

开发人员,我是新的Kotlin我想通过使用循环在数组中输入输入,然后,我打印所有值的数组,通过使用循环,但吨只获得输入,而不是显示其他块,并通过是什么错误在附加图像上

在这里输入图像描述

fun main(args: Array<String>) { var arrayint = Array<Int>(5){0} var x = 1 val abc:Int = arrayint.size while( x <= abc) { arrayint[x] = readLine()!!.toInt() x++ } for(index in 0..4) { println(arrayint[index]) } } 

以下简单一点

 var arrayint = Array<Int>(5) { readLine()!!.toInt() } for(x in arrayint) println(x) 

在第一行,而不是使用初始化lambda {0},我使用一个调用readLine的lambda。 在第二行,我没有必要知道我的范围(0..4),我让语言为我做(数组是可迭代的)。

您应该将x <= abc更改为x < abc ,将x = 1更改为x = 0 。 它现在不起作用,因为如果abc = 5并且循环4次,那么x = 5 但是 Kotlin(和Java)中的数组从0开始,这意味着大小为5的数组具有以下索引: 0, 1, 2, 3, 4这意味着arrayint[5]不存在,因为5是越界( > 4