2013-01-17 31 views
0

我試圖實現Scala for Java中提供的矩陣乘法,但我在顯示數組時遇到問題。如何在Scala中輸出數組

在嘗試,例如,

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

它會顯示[[[email protected]。我如何顯示數組的內容?

+0

這是一個奇怪的值......它的類型很奇怪,因爲你在'Seq'中混合了Array [Int]和'Array [Array [Int]]'。 –

回答

2

給定數組foo的你可以這樣做:

println(foo.mkString(",")) 

一個小紙條的爲什麼會這樣:數組,不像序列或中的其他類不超載的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 
     ) 

要正確輸出結果。

+0

當我試圖我之前接收到的相同的結果,因爲只有現在'[I @ 65b60280,[I @ 105e55ab' – chris05

+0

@chrisportelli singleThreadedMultiplication2返回數組的數組? –

+0

是,它返回整數數組的數組 - '數組[數組[INT]]' – chris05