gpt4 book ai didi

java - 如何从奇数和偶数数组中仅对奇数进行排序并仅显示排序后的奇数?

转载 作者:行者123 更新时间:2023-11-30 01:48:18 25 4
gpt4 key购买 nike

这是给我的整数数组 111,77, 88, 44, 32, 11, 13, 25, 44 我需要排序并仅显示数组的奇数元素。

我尝试使用循环和 if 条件来解决它

我预计输出为 11 13 25 77 111

import java.lang.reflect.Array;

public class oddsortSolution {

public static void main(String args[]) {
int n[] = { 111, 77, 88, 44, 32, 11, 13, 25, 44 };
int i = 0;
int temp = 0;
while (i < n.length) {
if (n[i] % 2 != 0) {
for (int j = i + 1; j < n.length; j++) {
if (n[j] > n[i]) {
n[j] = temp;
n[j] = n[i];
n[i] = temp;
}
}
}
}

System.out.println(n[1]);

}

}

最佳答案

您基本上需要跟踪奇数数组的大小,每次找到奇数时递增它,确定是否应该在现有数组中的某个位置交换该值(范围从 0 到 oddArraySize)并将其插入正确的位置位置。尝试以下代码,

public class oddsortSolution {
public static void main(String args[]) {
int n[] = { 111, 77, 88, 44, 32, 11, 13, 25, 44 };
int oddArraySize = 0;
for (int i = 0;i < n.length; i++) {
if (n[i] % 2 != 0) {
oddArraySize++;
for (int j = 0; j < oddArraySize; j++) {
if (j == oddArraySize - 1) {
n[j] = n[i];
} else if (n[j] > n[i]) {
int temp = n[j];
n[j] = n[i];
n[i] = temp;
}
}
}
}
int[] oddArray = Arrays.copyOfRange(n, 0, oddArraySize);
System.out.println( Arrays.toString( oddArray ));
}
}

关于java - 如何从奇数和偶数数组中仅对奇数进行排序并仅显示排序后的奇数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57026767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com