我很想使用来自
org. apache.的
来获得离散概率分布
int[] nums_to_generate = new int[] { -1, 1, 0 };
double[] discrete_probabilities = new double[] { 0.4, 0.4, 0.2 };
我正在使用jdk7,在windows Xp上,从命令行运行
我做:
>
添加到我的源文件
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”的导入和对数值整数分布()的调用是可以的。
使用类路径编译而不使用“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();
}
}
这就是问题所在:
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文件,它工作得很好。