Scala逐行读取多维数组

时间:2015-12-26 16:30:57

标签: scala

我试图逐行读取多维数组,如下所示:

var a = Array(MAX_N)(MAX_M)
for(i <- 1 to m) {
   a(i) = readLine.split(" ").map(_.toInt)
}

但是,我收到错误:

error: value update is not a member of Int

那么,如何逐行读取数组呢?

1 个答案:

答案 0 :(得分:3)

这里的主要问题实际上是你的第一行代码。

Array(MAX_N)(MAX_M)并不代表您认为的含义。

第一部分Array(MAX_N)表示“创建一个包含MAX_N的大小为1的数组”,然后(MAX_M)表示“返回该数组的MAX_M'th元素”。例如:

scala> Array(9)(0)
res1: Int = 9

要制作二维数组,请使用Array.ofDim。见How to create and use a multi-dimensional array in Scala?

(第一行后代码中存在更多问题。也许其他人会指出它们。)