如何将一个twodimentional数组作为参数传递给Kotlin中的一个函数

时间:2017-09-04 07:07:05

标签: kotlin

import java.io.*
import java.util.*

fun main(args: Array<String>) {
    val sc = Scanner(System.`in`)
    var grid = Array(9, {IntArray(9)})
    for(i in 0..grid.size - 1) {
        var rowArray = IntArray(9)
        for(j in 0..rowArray.size - 1) {
            rowArray[j] = sc.nextInt()
        }
        grid[i] = rowArray
    }
    for(row in grid) {
        for(j in row) {
            print(j)
            print(" ")
        }
        println("")
    }

}

2 个答案:

答案 0 :(得分:1)

你可以像这样传递二维数组:

fun test(){
    var arr: Array<Array<String>> = arrayOf(arrayOf("a","b"),arrayOf("1","2"))
    twoDimenArgTest(arr)
}

fun twoDimenArgTest(arr: Array<Array<String>>){
    arr.forEach { it.forEach { println(it) } }
}

如果此答案未完成,您应指定建议的 s1m0nw1 等错误。

答案 1 :(得分:1)

要传递二维数组,只需传递网格对象,如

twoDimensionalRx(grid)

并且只接收类型为Array&lt;的接收var IntArray&gt;像

  fun twoDimensionalRx(a:Array<IntArray>){
    ...
  }