完整Java程序有一个已经排好顾序的数组。现要求键盘输入一个数,将这个数插入数组中,数组倒序排列。
时间: 2024-02-25 20:58:47 浏览: 44
有一个已排好序的数组,今输入一个数,要求按排序的规律将它插入数组中。
好的,以下是一个示例代码实现:
```java
import java.util.Scanner;
public class InsertAndReverseArray {
public static void main(String[] args) {
// 初始化数组
int[] arr = {1, 3, 5, 7, 9};
// 输出原始数组
System.out.print("原始数组:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
// 读入插入的数值
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要插入的数值:");
int num = scanner.nextInt();
// 插入数值
int[] newArr = new int[arr.length + 1];
int index = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] > num && index == 0) {
newArr[i] = num;
index++;
}
newArr[index + i] = arr[i];
}
if (index == 0) {
newArr[newArr.length - 1] = num;
}
// 输出插入后的数组
System.out.print("插入后的数组:");
for (int i = 0; i < newArr.length; i++) {
System.out.print(newArr[i] + " ");
}
System.out.println();
// 倒序排列
for (int i = 0; i < newArr.length / 2; i++) {
int temp = newArr[i];
newArr[i] = newArr[newArr.length - 1 - i];
newArr[newArr.length - 1 - i] = temp;
}
// 输出倒序排列后的数组
System.out.print("倒序排列后的数组:");
for (int i = 0; i < newArr.length; i++) {
System.out.print(newArr[i] + " ");
}
System.out.println();
}
}
```
运行程序后,会先输出原始数组,然后要求输入要插入的数值。接下来,程序会将该数值插入数组中,并输出插入后的数组。最后,程序会倒序排列数组,并输出最终结果。
阅读全文