我尝试按
导入组合import java.lang.org.apache.commons.math3.util.Combinations;
但是当我在源代码中使用组合时,我一直收到错误。
import java.util.*;
import java.org.apache.commons.math3.util.Combinations;
public class PowerSet{ //gets power set for a set containing first n integers
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = Integer.parseInt(args[0]);
for(int i=0; i<=n; i++){
Combinations c = new Combinations(n,i);
Iterator iter = c.iterator();
while(iter.hasNext()){
int[] iarr = (int[])iter.next();
System.out.print("{" + iarr[0]);
for(int a=1; a<iarr.length; a++){
System.out.println(", " + iarr[a]);
}
System.out.print("}, ");
}
}
}
}
我得到的错误清楚地表明班级不存在。我是否认为层次结构错误或我应该导入类的方式是错误的?
package java.org.apache.commons.math3.util does not exist
import java.org.apache.commons.math3.util.Combinations;
^
PowerSet.java:11: error: cannot find symbol
Combinations c = new Combinations(n,i);
^
symbol: class Combinations
location: class PowerSet
答案 0 :(得分:0)
从导入声明中可以看出
java.lang.org.apache.commons.math3.util.Combinations;
不在核心java / jee包中,而是引用第三方包存储库。因此,您需要下载该软件包并将其放入类路径或项目lib目录中,或使用IDE或编译命令将该软件包指向系统中的某个位置。但是,现在有几天开发人员正在使用各种构建工具(如maven或gradle)来管理此类项目依赖性开销。