Java编写下面的程序:已知一个顺序从小到大的整型数组{12,23,34,45,56,67,78,89}, 用户输入一个数字,把它放入到正确的位置,其他元素也要保留。
时间: 2024-10-22 22:27:02 浏览: 20
Java实现把两个数组合并为一个的方法总结
在Java中,你可以创建一个函数来解决这个问题,首先遍历数组找到用户输入数字应该插入的位置,然后进行插入操作。这是一个示例程序:
```java
import java.util.Arrays;
import java.util.Scanner;
public class InsertInSortedArray {
public static void main(String[] args) {
int[] array = {12, 23, 34, 45, 56, 67, 78, 89};
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数字:");
int input = scanner.nextInt();
insertIntoSortedArray(array, input);
System.out.println("数组调整后的结果:");
printArray(array);
}
public static void insertIntoSortedArray(int[] arr, int value) {
int index = Arrays.binarySearch(arr, value);
// 检查是否已存在,不存在时插入,存在则保持原样
if (index >= 0) {
// 已经存在于数组中,无需插入
return;
} else {
index = -index - 1; // binary search 返回的是负数,表示插入位置在目标值之前
}
// 将值插入到正确的位置
System.arraycopy(arr, index, arr, index + 1, arr.length - index);
arr[index] = value;
}
private static void printArray(int[] arr) {
System.out.print(Arrays.toString(arr));
}
}
```
当你运行此程序并输入一个数字,它会被插入到相应的位置,而不会打乱原来的顺序。
阅读全文