猿问

编写方法,传入一个整形数组,将其奇数位的所以数字放在一个新数组中并返回,用java做

慕粉1470213262
浏览 2636回答 3
3回答

冰山点水

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

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

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; }
随时随地看视频慕课网APP

相关分类

Java
我要回答