为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕粉1470213262 2016-08-19 19:31:48
查看完整描述

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;
	}


查看完整回答
2 反对 回复 2016-08-20
?
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()]);
    }
}


代码以上,望采纳。

查看完整回答
1 反对 回复 2016-08-20
?
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;
}


查看完整回答
1 反对 回复 2016-08-20
  • 3 回答
  • 0 关注
  • 2635 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信