Ton*_*hen 1 java arrays algorithm for-loop
所以这是我从整数数组中取出的方法(这个数组的长度是偶数).
public static int[] oddPosition (int[] array) {
int [] oddNumbers = new int[array.length / 2];
for (int i = 0; i < array.length; i++) {
int j = 0;
//System.out.println(i);//test
//printArray(oddNumbers); //test
if ((i + 1) % 2 != 0) {
//System.out.println(i);//test
oddNumbers[j] = array[i];
j ++;
}
}
return oddNumbers;
}
Run Code Online (Sandbox Code Playgroud)
它没有用.我尝试oddNumbers在每个循环中打印出我的新数组中的情况来调试此方法.我用作1 2 8 4 6 9此方法的参数.我发现一个非常奇怪的条件是,when i = 0, (i + 1) % 2 != 0, then array[0](which is 1) should be assigned to oddNumbers[0]. and oddNumbers should be [1, 0, 0, 0] at first loop然而第一个循环的oddNumbers是1, 0, 0, 2.来自......的2来自哪里?我期望的这种方法的最终结果是1, 8, 6它给了我6, 0, 0.那我的方法有什么问题?谢谢!
怎么样,而不是循环遍历每个索引然后测试它是否奇怪,你开始循环为1并且每次增加2:
例:
for(int i = 1; i < array.length; i+=2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |