我想使用EnumeratedIntegerDistribution()
中的org.apache.commons.math3.distribution
来获取离散概率分布
int[] nums_to_generate = new int[] { -1, 1, 0 };
double[] discrete_probabilities = new double[] { 0.4, 0.4, 0.2 };
我在Windows Xp上运行jdk7,从命令行运行
我做:
添加到我的源文件
import org.apache.commons.math3;
使用类路径编译我的源:(或者)
javac -cp ./commons-math3-3.2/commons-math3-3.2.jar:. ConflictsAnimation.java
javac -cp commons-math3-3.2/commons-math3-3.2.jar ConflictsAnimation.java
我仍然有一个神秘的
"error: package org.apache.commons does not exist"
谁知道会发生什么?我真的需要帮助。
注意:
编译(和运行)没有类路径,没有 导入“apache”并调用numeratedIntegerDistribution()。
使用类路径进行编译,而不使用“appache” 废话错误。
非常感谢你的优秀技能,程序员!
import java.lang.Math.*;
import org.apache.commons.math3;
public class CheckMe {
public CheckMe() {
System.out.println("let us check it out");
System.out.println(generate_rand_distribution (10));
}
private static int[] generate_rand_distribution (int count){
int[] nums_to_generate = new int[] { -1, 1, 0 };
double[] discrete_probabilities = new double[] { 0.4, 0.4, 0.2 };
int[] samples = null;
EnumeratedIntegerDistribution distribution =
new EnumeratedIntegerDistribution(nums_to_generate, discrete_probabilities);
samples = distribution.sample (count);
return (samples);
}
public static void main (String args[]) {
System.out.println("Main: ");
CheckMe animation = new CheckMe();
}
}
答案 0 :(得分:4)
这是问题所在:
import org.apache.commons.math3;
尝试导入包 - 您无法做到这一点。您必须使用通配符导入:
import org.apache.commons.math3.*;
或导入特定类型:
import org.apache.commons.math3.SomeTypeHere;
在你的情况下,听起来你真的想要:
import org.apache.commons.math3.distribution.EnumeratedIntegerDistribution;
我尝试过使用 导入的示例类和从Apache下载的jar文件,它运行正常。