我有以下代碼,但收到錯誤:預期的類或物件定義。它參考了 Val 矩陣。問題是什么?
object Main{
def squaresHaveNoDuplicates(matrix: Array[Array[Int]]) = {
val rowBlocks = matrix.grouped(3).toArray
println(rowBlocks)
}
}
val matrix= Array(
Array(0, 5, 0, 3, 0, 9, 0, 2, 6),
Array(3, 8, 9, 4, 2, 0, 1, 5, 7),
Array(4, 0, 6, 1, 0, 0, 0, 8, 9),
Array(0, 1, 3, 7, 9, 8, 0, 0, 4),
Array(0, 0, 8, 0, 0, 0, 5, 0, 0),
Array(0, 6, 0, 0, 0, 3, 0, 0, 0),
Array(0, 0, 1, 9, 3, 0, 0, 4, 0),
Array(9, 3, 5, 6, 4, 0, 8, 0, 1),
Array(0, 0, 2, 8, 7, 0, 0, 0, 5)
squaresHaveNoDuplicates(matrix)
編輯:即使我嘗試一個簡單的代碼,如:
val str= Array(1,2,3)
我在 REPL 中收到同樣的錯誤。
uj5u.com熱心網友回復:
有簡單的語法錯誤。
object Main extends App {
def squaresHaveNoDuplicates(matrix: Seq[Seq[Int]]) = {
val rowBlocks = matrix.grouped(3).toSeq
println(rowBlocks)
}
val matrix = Seq(
Seq(0, 5, 0, 3, 0, 9, 0, 2, 6),
Seq(3, 8, 9, 4, 2, 0, 1, 5, 7),
Seq(4, 0, 6, 1, 0, 0, 0, 8, 9),
Seq(0, 1, 3, 7, 9, 8, 0, 0, 4),
Seq(0, 0, 8, 0, 0, 0, 5, 0, 0),
Seq(0, 6, 0, 0, 0, 3, 0, 0, 0),
Seq(0, 0, 1, 9, 3, 0, 0, 4, 0),
Seq(9, 3, 5, 6, 4, 0, 8, 0, 1),
Seq(0, 0, 2, 8, 7, 0, 0, 0, 5)
)
squaresHaveNoDuplicates(matrix)
}
- 諸如賦值之類的代碼
val matrix = Array(...)不能位于class或之外object。因此錯誤資訊。 - 缺少定義外部的括號
matrix: Array println不會列印 an 的內容,Array我將其替換為SeqMain除非它擴展App或定義main方法,否則不會運行。JVM 需要有一個進入程式的入口點,約定是這是一個def main(arg: Array[String]). ScalaApp正在使用所謂的延遲初始化,但它在Scala 3 中被逐步淘汰。在這里閱讀更多
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/361520.html
