我遇到了阵列问题。
更新:
我需要将数组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阵列填写正确?
很抱歉,如果这听起来很愚蠢,我就开始学习编程了。
答案 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++;
}
}