我想用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