我试图在项目中导入库org.apache.commons.math3.distribution.NormalDistribution
。
我在IntelliJ IDEA 14.1中为一个项目写了以下几行。我确定这里和那里几乎没有错误(我是Scala的新手,我也不具备以前的Java经验),所以道歉。我的问题是Scala似乎没有导入库,我不能在我的对象体上使用与它关联的函数(即cumulativeProbability
)。
import org.apache.commons.math3.distribution.NormalDistribution
import scala.math._
// Compute statistical power given confidence level, significance level, sample sizes and means on the
// Normal distribution case
object test_math_lib {
def main(n1: Int, n2: Int, significance: Double, mu1: Double, mu2: Double, alternative: String): Double = {
if alternative = "two sided":
val b = 0.50 // just for the sake of testing
val x = new (1 - cumulativeProbability(b))
}
}
这只是一个草稿,我只是自己编写这个函数,而且我以前没有Java和Scala的经验。
答案 0 :(得分:2)
您只能在类cumulativeProbability
的实例上调用方法NormalDistribution
。
因此,您首先必须创建一个NormalDistribution
对象,然后在该对象上调用该方法。像这样:
val distr = new NormalDistribution()
val prob = distr.cumulativeProbability(b)
我不知道这一行中new
的含义:
val x = new (1 - cumulativeProbability(b))
但这不是有效的语法。您使用new
运算符创建新对象 - 我不知道您的意图是什么。
答案 1 :(得分:0)
首先,您需要确保项目可以使用依赖项。
例如,如果您的项目是基于sbt的,请参阅http://www.scala-sbt.org/0.13/docs/Library-Management.html,如果您使用maven,则故事几乎相同。
更新项目定义后,需要为IntelliJ重新创建项目文件,我认为你可以使用sbt-idea为sbt,最后重新导入项目。应该整合对maven的支持。
如果您直接在IntelliJ中创建项目而不依赖于这两个项目,则需要将jar依赖项添加到构建路径,请参阅https://confluence.jetbrains.com/display/IntelliJIDEA/Dependencies+Management+%28Build+Path%29。
如果配置正确,那么您将在库的import语句下看不到红色波形。
关于代码段,您应该通过检查Javadoc来检查您对NormalDistribution
实际做了什么,我读到您有一些不同的构造函数,通过它们可以配置您的实例,例如设置随机生成器明确。
当你获得实例时,你可以调用它上面的所有公共实例方法。