3 回答
冰山点水
TA贡献109条经验 获得超149个赞
public int[] newArr(int[] arr){
//新数组的长度
int len=arr.length%2==0?arr.length/2:arr.length/2+1;
//声名长度为len的新数组
int[] arr1=new int[len];
//初始化新数组,将传入的数组中的奇数位数字存入新数组中
for(int i=0,m=0;i<arr.length;i++){
if(i%2==0){
arr1[m]=arr[i];
m++;
}
}
return arr1;
}
XhstormR
TA贡献140条经验 获得超197个赞
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test {
public static void main(String[] args) {
int[] ints = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
Integer[] integers = arrays(ints);
System.out.println(Arrays.toString(integers));
}
public static Integer[] arrays(int[] ints) {
List<Integer> list = new ArrayList<>();
for (int i = 0; i < ints.length; i++) {
if ((i + 1) % 2 != 0) {
list.add(ints[i]);
}
}
return list.toArray(new Integer[list.size()]);
}
}代码以上,望采纳。
ziom
TA贡献948条经验 获得超1109个赞
public static int[] getOdd(int[] arr) {
// 对arr的长度除以2f做向上取整获得奇数数组长度,此处必须除以浮点数2
int[] odd = new int[(int) Math.ceil(arr.length/2f)];
// 遍历arr,取得其奇数位
for (int i=0, k=0; i<arr.length; i++) {
if (i%2 == 0) {
odd[k] = arr[i];
k++;
}
}
return odd;
}添加回答
举报
0/150
提交
取消
