Toma la input en la matriz con el bucle

desarrolladores, soy nuevo en Kotlin, estoy tratando de tomar input en Array usando loop y luego de eso, imprimo todos los valores de array usando loop, pero obtengo solo input y no muestro el otro fragment y el error que es shiwn en adjuntar image

enter image description here

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]) } } 

El siguiente es un poco más sucinto

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

En la primera línea, en lugar de usar el inicializador lambda {0}, uso un lambda que llame a readLine. En la línea 2, en lugar de tener que conocer mi range (0..4), dejo que el lenguaje lo haga por mí (una matriz es iterable).

Debería cambiar x <= abc por x < abc y x = 1 por x = 0 . No funciona ahora porque si abc = 5 y bucle 4 veces, entonces x = 5 pero las matrices en Kotlin (y Java) comienzan en el índice 0, lo que significa que la matriz de tamaño 5 tiene los siguientes índices: 0, 1, 2, 3, 4 que significa que arrayint[5] no existe ya que 5 está fuera de límites ( > 4 )

  • Acoplar arreglo en Kotlin
  • Kotlin sorting array de una class basada en una var dentro de la class
  • Kotlin equivalente para el set de classs de C ++
  • ¿Cómo crear un IntArray de tamaño fijo e inicializar el array más adelante en Kotlin?
  • ¿Cómo verificar si una matriz de cadenas está orderada en order alfabético o no utiliza Kotlin?
  • Kotlin filter lambda array usando el índice de iteración
  • Llamadas seguras en Kotlin con Array es confuso
  • ¿Cómo serializar / deserializar una matriz de objects personalizados en Kotlin?
  • Inicializando matrices en kotlin
  • Inicialización de matriz de subprocesss múltiples en Kotlin
  • Inicializar ArrayList <ArrayList <Int >> con un tamaño en kotlin