输入若干(不超过1000个)非负整数数字,请先取出为奇数的数字按从大到小排序, * 再取出偶数从小到大排序Java代码
时间: 2024-03-16 18:45:05 浏览: 91
好的,以下是 Java 代码实现:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数字的个数:");
int n = scanner.nextInt(); // 读入数字的个数
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt(); // 读入每个数字
}
int[] oddArr = new int[n]; // 存放奇数的数组
int[] evenArr = new int[n]; // 存放偶数的数组
int oddIndex = 0, evenIndex = 0; // 奇数数组和偶数数组的下标
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 1) { // 如果是奇数
oddArr[oddIndex++] = arr[i];
} else { // 如果是偶数
evenArr[evenIndex++] = arr[i];
}
}
// 对奇数数组按从大到小排序
Arrays.sort(oddArr, 0, oddIndex);
int left = 0, right = oddIndex - 1;
while (left < right) {
int tmp = oddArr[left];
oddArr[left] = oddArr[right];
oddArr[right] = tmp;
left++;
right--;
}
// 对偶数数组按从小到大排序
Arrays.sort(evenArr, 0, evenIndex);
System.out.print("按要求排序后的数组为:");
for (int i = 0; i < oddIndex; i++) {
System.out.print(oddArr[i] + " ");
}
for (int i = 0; i < evenIndex; i++) {
System.out.print(evenArr[i] + " ");
}
}
}
```
代码中,我们先使用`Scanner`类读入数字的个数和每个数字,然后使用两个数组`oddArr`和`evenArr`分别存放奇数和偶数,使用`oddIndex`和`evenIndex`分别记录奇数数组和偶数数组的下标。接着,我们遍历输入的数字,将奇数放入`oddArr`中,偶数放入`evenArr`中。
然后,我们使用`Arrays.sort`方法对奇数数组按从大到小排序,使用双指针`left`和`right`交换数组中的元素,从而实现倒序排序;对偶数数组按从小到大排序。
最后,我们使用`for`循环输出排序后的数组。
希望对您有所帮助。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)