我试图逐行读取多维数组,如下所示:
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
那么,如何逐行读取数组呢?
答案 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?
(第一行后代码中存在更多问题。也许其他人会指出它们。)