繁体   English   中英

如何在 Kotlin 中创建动态二维数组?

[英]How to create a dynamic 2 dimensional array in Kotlin?

我的问题是如何在 Kotlin 中创建一个动态二维数组。 以便用户在运行程序时可以输入值。 我已经尝试使用默认值添加 2 个矩阵。 但是我需要带有动态数组的程序,并且每次运行程序时都需要输入值来排列数组。 请帮我转换我的代码。

下面是我的代码。

fun main(args: Array<String>) {
    var rows = 2
    var columns = 2
    var firstMatrix = arrayOf(intArrayOf(5,8), intArrayOf(3,8))
    var secondMatrix = arrayOf(intArrayOf(3,8), intArrayOf(8,9))
    // Adding Two matrices
    var sum = Array(rows) { IntArray(columns) }
    for (i in 0..rows - 1) {
        for (j in 0..columns - 1) {
            sum[i][j] = firstMatrix[i][j] + secondMatrix[i][j]
           // println(sum[i][j])
        }
    }
    /// Displaying the result
    println("Sum of two matrices is: ")
    for (row in sum) {
        for (column in row) {
            print("$column    ")
        }
        println()
    }
}

您可以使用 Kotlin 的readln function 从控制台读取用户输入。 它为您提供了一个字符串,您可以用空格拆分该字符串以获取一行中的所有数字,然后可以将其映射到IntString

val rows = 2
val columns = 2
println("Enter elements of first array:")
val firstMatrix = (1..rows).map {
    readln().split(' ').map { it.toInt() }
}
println("Enter elements of second array:")
val secondMatrix = (1..rows).map {
    readln().split(' ').map { it.toInt() }
}

在此之后,您可以使用现有代码来查找总和矩阵。

示例执行:

Enter elements of first array:
1 2
3 4
Enter elements of second array:
3 5
2 5
Sum of two matrices is: 
4    7    
5    9

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM