我想实现一个函数或某种方式从控制台顺序存储数组。这样的事情:readLine()!!.toIntArray()
为此使用循环是否方便?是否可以避免?
然后您可以使用数组索引访问它们。
fun main(args: Array<String>) {
myFunction()
}
答
fun myFunction() {
println(" . First number: ")
val num1:Float = readLine()!!.toFloat()
println(" . Second number: ")
val num2:Float = readLine()!!.toFloat()
println(" . Third number: ")
val num3:Float = readLine()!!.toFloat()
println(" . Fourth number: ")
val num4:Float = readLine()!!.toFloat()
val result:Float = (num1+num2) + (num3*num4)
print("The result is: $result")
}
B:
fun myFunction() {
println("Enter four numbers ...")
// val numbers:IntArray = intArrayOf(45, 22, 10, 13)
val numbers:IntArray = readLine()!!.toIntArray() //HERE: toIntArray() isn't defined
val result:Int = (numbers[0]+numbers[1]) + (numbers[2]*numbers[3])
print("The result is: $result")
}
定义数组时,我必须指出我想从控制台读取的值的数量,即数组的大小。
还有另一种方法可以停止在控制台中读取数据吗?
简而言之,我想从A区转到B区的想法。
println("Enter four numbers ...")
val numbers = readLine()!!.split(" ").map { it.toInt() }
val result:Int = (numbers[0]+numbers[1]) + (numbers[2]*numbers[3])
print("The result is: $result")
答案 0 :(得分:2)
您不需要循环。可以使用map
:
val numbers = readLine()!!.split(" ").map { it.toInt() }
答案 1 :(得分:1)
如果您需要从示例中的单独行中读取数字:
val list = List(4) { readline()!!.toFloat() }
对阵列也可以这样做,但建议在Kotlin中使用列表