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
提交
取消