java从键盘输入8个整数存放在一个数组中,然后将奇数和偶数分别存入到两个不同的数组中,并按奇数、偶数交替的顺序输出这两个数组中的所有数据 (先交替输出,如果奇数个数多,则再输出剩下的奇数,如果偶数个数多,则再输出剩下的偶数)。 奇数偶数俩数组 长度 加起来 不能超过8
时间: 2023-12-14 11:35:37 浏览: 119
可以按照以下步骤实现:
1. 创建一个长度为8的整型数组,从键盘输入8个整数并存入数组中。
2. 分别创建长度为4的奇数数组和偶数数组。
3. 遍历原始数组,将奇数存入奇数数组,偶数存入偶数数组。
4. 分别记录奇数和偶数数组中已经输出的元素个数,以及奇数和偶数数组的总元素个数。
5. 按照奇数、偶数交替的顺序输出数组元素,直到所有元素都被输出。
代码如下:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] nums = new int[8];
System.out.println("请输入8个整数:");
for (int i = 0; i < nums.length; i++) {
nums[i] = input.nextInt();
}
int[] oddNums = new int[4];
int[] evenNums = new int[4];
int oddCount = 0;
int evenCount = 0;
int oddIndex = 0;
int evenIndex = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] % 2 == 1) {
oddNums[oddCount++] = nums[i];
} else {
evenNums[evenCount++] = nums[i];
}
}
int totalCount = oddCount + evenCount;
while (oddIndex < oddCount || evenIndex < evenCount) {
if (oddIndex < oddCount) {
System.out.print(oddNums[oddIndex++] + " ");
}
if (evenIndex < evenCount) {
System.out.print(evenNums[evenIndex++] + " ");
}
}
if (oddCount > evenCount) {
for (int i = oddIndex; i < oddCount; i++) {
System.out.print(oddNums[i] + " ");
}
} else if (evenCount > oddCount) {
for (int i = evenIndex; i < evenCount; i++) {
System.out.print(evenNums[i] + " ");
}
}
}
}
```
输入示例:
```
请输入8个整数:
1 2 3 4 5 6 7 8
```
输出示例:
```
1 2 3 4 5 6 7 8
```
阅读全文