sri sri
sri sri

Reputation: 19

How to pass a twodimentional array as argument to a function in 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("")
    }

}

Upvotes: 0

Views: 7393

Answers (2)

Pravin Londhe
Pravin Londhe

Reputation: 895

To pass the two dimensional array just pass the object of grid like

twoDimensionalRx(grid)

and to receive just receive var with type Array< IntArray > like

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

Upvotes: 1

pokemzok
pokemzok

Reputation: 1709

You can pass two dimentional array like this:

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

If this answer is not complete you should specify error like s1m0nw1 suggested.

Upvotes: 4

Related Questions