我想用Scala將數字範圍打印到文本文件中。在一個文件中寫入一個雙精度數的範圍
這裏是我的代碼:
package test
import java.io._
class Normal {
def function(N:Double,File:String) {
val rangetest = ((-N/2) to (N/2))
val pw = new PrintWriter(new File(File))
pw.write(rangetest)
pw.close
}
}
object normal_distribution extends App {
val N = 50000.toDouble
val file = "/home/Desktop/output_normal.txt"
val normal_obj = new Normal
normal_obj.function(N, file)
}
但我得到一個錯誤與線
pw.write(rangetest)
錯誤消息:替代品重載方法值寫入:(X $ 1:字符串)單位<and>(x $ 1:Array [Char])Unit
<and>(X $ 1:智力)單元不能被應用到
(Range.Partial [雙,scala.collection.immutable.NumericRange [雙]])
我不能夠打印的範圍內值。
您需要先將範圍類型Rangetest val轉換爲字符串。如果我沒有弄錯,你可以使用'rangetest.mkString(「,」)' – sercanturkmen
[如何在Scala中寫入文件?](https://stackoverflow.com/questions/4604237/how-to -write到一個文件 - 在 - 斯卡拉) – sercanturkmen