提问者:小点点

包org. apache.Commons不存在


我很想使用来自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();  
        } 
    }
    

  • 共1个答案

    匿名用户

    这就是问题所在:

    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文件,它工作得很好。