0

Scala for Javaで提供されているように行列の乗算を実装しようとしていますが、配列を表示するのに問題があります。

たとえば、試してみると

println(singleThreadedMultiplication2(Seq(Array(1, 2),
                                          Array(2, 3)),
                                          Array(Array(11, 8),
                                                Array(2, 6))))

が表示され[[I@2c79a2e7ます。配列の内容を表示するにはどうすればよいですか?

4

1 に答える 1

2

配列fooが与えられると、次のことができます。

println(foo.mkString(","))

その理由について少し注意してください。Seqや他のほとんどのクラスとは異なり、配列は.toStringメソッドをオーバーロードしないため、Object.toStringが使用されます。

編集:

あなたのコードでは(singleThreadedMultiplication2の結果のタイプに依存します)あなたが書かなければならないように見えます:

val result = singleThreadedMultiplication2(
                     Seq(Array(1, 2), Array(2, 3)), 
                     Array(Array(11, 8), Array(2, 6))
             )

println(result
          .map(_.mkString("[",",","]")) // making every inner array readable
          .mkString(",")                // now making outer array
       )

結果を正しく出力します。

于 2013-01-17T14:19:17.360 に答える