题目概述:
定义一个数组其中包含多个数字,实现奇数放在数组的左边,偶数放在数组的右边。
(可以创建其他数组,不必须在原数组中改变)
操作步骤:
- 定义出原数组arr,其中包含多个数字。
- 定义新数组brr,和arr的长度一样。
- 定义变量left,初始值是0准备从左边放元素,定义变量right,初始值是arr.length-1准备从右边放元素。
- 对原数组arr进行遍历。
- 如果元素是奇数,则放在新数组brr的左边,left变量加一。
- 如果元素是偶数,则放在新数组brr的右边,right变量减一。
- 遍历新数组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));
}
}