Java:生成绑定的所有编号组合

Java:生成绑定的所有编号组合,java,for-loop,numbers,Java,For Loop,Numbers,我有数字1 3 5 7和9(赔率)我想要的是一个方法类型long[],它作为参数int数字 数字paremater应该是该数字可能具有的最大数字 假设此方法将1 3 5 7和9的所有可能组合添加到数组中 到目前为止我所做的: 计算出数组的大小 int size = 0 for(int i = 0; i < digits; i++){ size += (int) Math.pow(5,i+1); int size=0 对于(int i=0;i

我有数字
1 3 5 7
9
(赔率)我想要的是一个方法类型
long[]
,它作为参数
int
数字

数字paremater应该是该数字可能具有的最大数字

假设此方法将
1 3 5 7
9
的所有可能组合添加到数组中

到目前为止我所做的:

计算出数组的大小

int size = 0
 for(int i = 0; i < digits; i++){
        size += (int) Math.pow(5,i+1);
int size=0
对于(int i=0;i
我试过很多for循环,但似乎都不起作用


这样做的目的是,我试图找到某种素数,制作此表将使我的程序更快。

如果我理解正确,我认为这可能会起作用。也许有一种更干净的方法,我已经有一段时间没有使用JAVA了

long[] expand(int digits) {
    int[] a = {1, 3, 5, 7, 9};
    long[] b = long[5];
    for(int i=0; i<5; i++){b[i] = a[i];}        
    int it_left = digits;
    while(it_left > 0) {
        it_left--;
        long[] c = long[(b.length()*5)];
        for(int i=0; i<5; i++){
            long tmp = a[i]*Math.pow(10, (digits-it_left));
            for(int j=0; j<b.length(); j++){
                c[(i*b.length())+j] = tmp + b[j];
            }
        }
        b = long[c.length()];
        for(int i=0; i<c.length(); i++){
            b[i]=c[i];
        }
    }
    return b;
}
long[]展开(整数位数){
int[]a={1,3,5,7,9};
长[]b=长[5];
对于(int i=0;i 0){
它离开了--;
长[]c=长[(b.长度()*5)];

对于(int i=0;我必须澄清-除了1的位置之外,还有一些包含偶数的素数。例如:23。所以你不是在寻找数字1,3,5,7,9的所有组合,作为一种查找范围内所有素数的方法,对吗?对我来说看起来像a。如果是这样,你不需要这样做。