Kotlin.我怎样才能得到一个二维数组中的一个单独的项呢?

pjngdqdw  于 2022-11-16  发布在  Kotlin
关注(0)|答案(1)|浏览(134)

我正在创建一个GameOfLife项目(https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life),为此我决定使用二维数组。但是我找不到一个简单的方法来访问它的元素,就像在java中可以访问array[index][index]一样。我如何访问单个元素呢?

val board = Board(
    arrayOf(
        arrayOf(2, 2, 2),
        arrayOf(2, 2, 2),
        arrayOf(2, 2, 2)
    )
)
println(board.board[2][2]) // this doesn't work

我试着像在Java中那样访问它,因为Kotlin是从它派生出来的,但我想这是错误的。我在Google中找不到一个简单的答案。我是一个初学者,所以如果这是显而易见的事情,请不要生我的气,因为对我来说不是,我想学习:)。也许我不应该创建这样的2个数组?

e37o9pze

e37o9pze1#

some2dArray[index][index]语法在Kotlin中运行良好。在示例中,您创建了一个Board对象,并将一个二维数组传递给它,但没有显示如何声明Board类。如果您只创建了一个二维数组,则可以看到索引工作正常。

fun main(args: Array<String>) {
  val board = 
    arrayOf(
        arrayOf(2, 2, 2),
        arrayOf(2, 2, 2),
        arrayOf(2, 2, 2)
    )

  println(board[2][2]) // this works
}

如果你声明你的Board类有一个名为board的二维数组,那么你所拥有的也会起作用。

class Board(val board: Array<Array<Int>>)

fun main(args: Array<String>) {
  
  val board = Board(arrayOf(
        arrayOf(2, 2, 2),
        arrayOf(2, 2, 2),
        arrayOf(2, 2, 2)
  ))

 println(board.board[2][2]) // this also works
}

相关问题