Java:如何按特定顺序将元素从一个数组插入另一个数组(作业)

时间:2016-11-10 22:44:38

标签: java arrays

我遇到了阵列问题。 更新:
我需要将数组A中的元素插入到数组B中,然后使用不均匀的索引,甚至是之后的数据。例如:A [0]应该变为B [10],A 1 = B [0],A [2] = B [11]等。  我已经更新了代码(谢谢大家的意见,提示和建议!)。

        for (i=0; i<10; i++){
        if (i%2==1)
        B[C-1]=A[i];
        C++;
    }

    for (i=0; i<10; i++){
            if (i%2==0)
            B[C]=A[i];
            C++;
        }

现在它确实填充了数组B,但只填充了其他所有元素。见图:Right now output is like this

如何让B阵列填写正确?

很抱歉,如果这听起来很愚蠢,我就开始学习编程了。

2 个答案:

答案 0 :(得分:0)

这不是最优雅或最有效的解决方案,但我认为它很容易理解和遵循。

    public static void main(String[] args) {

    double[] a = {0,1,2,3,4,5,6,7,8,9};
    double[] b = new double[a.length];
    double[] tempArray = new double[a.length];

    int tempCounter = 0;
    int indexCounter = 0;

    for(int i = 0; i<a.length; i++){
        if (a[i] % 2 == 0){ // even
           tempArray[tempCounter] = a[i];
           tempCounter++;
        }else{
            b[indexCounter] = a[i];
            indexCounter++;
        }
    }

    for(int i = 0; i<tempCounter; i++){
        b[indexCounter] = tempArray[i]; 
        indexCounter++;
    }
}

答案 1 :(得分:0)

谢谢大家,在提出所有建议之后,我能够做对了!

        for (i=1; i<20; i++){
        if (i%2==1){
        B[C]=A[i];  
        C++;
        }
    }
        for (i=0; i<19; i++){
            if (i%2==0){
            B[C]=A[i];
            C++;
            }

        }