【发布时间】:2015-12-07 16:40:17
【问题描述】:
我在 java 中做我的第一步,所以我的问题很简单——我有一个包含 8 个整数的数组,我想返回一个包含原始数组中奇数索引元素的数组。方法减速有什么问题?任何其他实施技巧将不胜感激。
P.S - 我知道我不必在这里使用方法,它只是为了练习。
package com.tau;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8};
System.out.println("1.e odd index numbers in array : " + oddIndex(arr));
int j = 0;
public static int[] oddIndex(int[] array){
int newArrSize = array.length;
if ((newArrSize % 2) != 0) {
newArrSize--;
}
int[] newArr = new int[newArrSize];
for (int i = 0; i < array.length; i++)
if ((array[i] % 2) == 0) {
newArr[j] = array[i];
j++;
}
return newArr;
}
}
}
【问题讨论】:
-
你不能在另一个方法中声明一个方法。
-
此方法将返回奇数元素,而不是奇数索引元素
-
如果您返回奇数索引元素,您将拥有大约 一半 的元素数量。
-
查看每个第二个元素,请执行
i += 2 -
令人困惑的是,您的奇数索引元素有偶数。即 arr[1] == 2