java题目--将数组中的数按照奇偶数分开到两边

 

题目概述:

                定义一个数组其中包含多个数字,实现奇数放在数组的左边,偶数放在数组的右边。

(可以创建其他数组,不必须在原数组中改变)

操作步骤:

  1. 定义出原数组arr,其中包含多个数字。
  2. 定义新数组brr,和arr的长度一样。
  3. 定义变量left,初始值是0准备从左边放元素,定义变量right,初始值是arr.length-1准备从右边放元素。
  4. 对原数组arr进行遍历。
  5. 如果元素是奇数,则放在新数组brr的左边,left变量加一。
  6. 如果元素是偶数,则放在新数组brr的右边,right变量减一。
  7. 遍历新数组brr打印最终结果。
import java.util.Arrays;

public class Test {
    public static void main(String[] args) {

        //1.定义两个数组,
        int[] arr1 = {23, 37, 10, 0, -20, 39, -27, 9};
        int[] arr2 = new int[arr1.length];

        //2.定义两个变量来代表arr2数组的下标
        int left = 0;
        int right = arr2.length - 1;

        //3.定义循环分开奇偶数
        for (int i = 0; i < arr1.length; i++) {
            //3.1 当arr[i]的值是偶数时,将值赋给arr2数组的最后一个
            if (arr1[i] % 2 == 0) {
                arr2[right] = arr1[i];
                right--;//下标往左移一位
            } else {
                //3.2 当arr[i]的值是奇数时,将值赋给arr2数组的第一个
                arr2[left] = arr1[i];
                left++;//下标往右移一位
            }
        }
        //利用API Arrays.toString() 输出arr2数组验证正确与否
        System.out.println(Arrays.toString(arr2));
    }
}

你可能感兴趣的:(java,学习)