编写程序,格一个任意长度的int数组折分为两个int数组, 一个数组中存储奇数数据,一个数组中存储偶数数据,拆分后保持原有顺序。给定数组: {1,6,2,3,9,10,7,23,22)结果为:{1,3,9,7,23)和{6,2,10,22)
时间: 2023-10-08 09:14:45 浏览: 90
输入一个任意长度的数组,再对数组排序程序
4星 · 用户满意度95%
以下是一个 Java 代码示例:
```java
public static void splitArray(int[] arr) {
int[] oddArr = new int[arr.length];
int[] evenArr = new int[arr.length];
int oddIndex = 0, evenIndex = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] % 2 == 0) {
evenArr[evenIndex++] = arr[i];
} else {
oddArr[oddIndex++] = arr[i];
}
}
int[] oddResult = Arrays.copyOfRange(oddArr, 0, oddIndex);
int[] evenResult = Arrays.copyOfRange(evenArr, 0, evenIndex);
System.out.println("Odd Array: " + Arrays.toString(oddResult));
System.out.println("Even Array: " + Arrays.toString(evenResult));
}
```
该方法接受一个 int 数组作为参数,然后将该数组拆分为奇数数组和偶数数组,并将其打印出来。在方法内部,我们创建了两个新的 int 数组 oddArr 和 evenArr,用于存储奇数和偶数数据。我们使用两个变量 oddIndex 和 evenIndex 来跟踪这些数组中的填充位置。
接下来,我们遍历原始数组 arr 中的每个元素。如果该元素是偶数,则将其添加到 evenArr 中,并将 evenIndex 增加 1。如果该元素是奇数,则将其添加到 oddArr 中,并将 oddIndex 增加 1。
最后,我们使用 Java 中的 Arrays.copyOfRange() 方法从 oddArr 和 evenArr 中创建两个新数组 oddResult 和 evenResult,并使用 Arrays.toString() 方法将它们打印出来。
阅读全文