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])
}
}
答案 0 :(得分:2)
以下是更简洁的
var arrayint = Array<Int>(5) { readLine()!!.toInt() }
for(x in arrayint)
println(x)
在第一行,我使用一个调用readLine的lambda,而不是使用初始化器lambda {0}。 在第2行,而不是必须知道我的范围(0..4),我让语言为我做(数组是可迭代的)。
答案 1 :(得分:1)
您应该将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
)
答案 2 :(得分:0)
尝试一下:
fun main (args:Array<String>){
var arrayint = Array<Int>(5){0}
var x:Int = 0
val abc:Int = arrayint.size
while( x < abc)
{
arrayint[x] = readLine()!!.toInt()
x++
}
for(index in 0..4)
{
println(arrayint[index])
}
}
答案 3 :(得分:0)
以下代码正在使用循环在数组中输入
import java.util.*
fun main(args: Array<String>) {
var num = arrayOfNulls<Int>(5)
var read= Scanner(System.`in`)
println("Enter array values")
for(i in 0..4)
{
num[i] = read.nextInt()
}
println("The array is")
for(x in num){
println(x)}
}
答案 4 :(得分:0)
在预定义大小的数组中获取输入数据的 n 个数据元素的一种简写如下。
这里用户将输入一个整数
n = 元素数,然后是数组元素
import java.util.* fun main(){ val read = Scanner(System.`in`) val n = read.nextInt() var arr = Array(n) {i-> read.nextInt()} // taking input arr.forEach{ println(it) // this loop prints the array } }