1.代码:
package demo11;
import java.util.Arrays;
import java.util.Scanner;
//11.有一个已经排好序的数组。现输入一个数,
// 要求按原来的规律将它插入数组中。
public class Demo11 {
public static void main(String[] args) {
double[] arr = {1.2,2.5,3.7,0.3,1.4,4.8,2.2};
Arrays.sort(arr);
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数:");
double num = sc.nextDouble();
double[] arr1 = {};
for (int i = 0; i < arr.length - 1; i++) {
if(num >= arr[i] && num <= arr[i+1]){
arr1 = Arrays.copyOf(arr,arr.length + 1);
arr1[i+1] = num;
System.arraycopy(arr,i + 1,arr1,i + 2, arr1.length - i -2);
}
}
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.toString(arr1));
}
}
2.测试结果:
"D:\Program Files\Java\jdk-9.0.4\bin\java.exe" "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2018.2.5\lib\idea_rt.jar=63246:D:\Program Files\JetBrains\IntelliJ IDEA 2018.2.5\bin" -Dfile.encoding=UTF-8 -classpath E:\Java练习\基础类型题\chap01\out\production\Java练习 demo11.Demo11
请输入一个数:
1.6
[0.3, 1.2, 1.4, 2.2, 2.5, 3.7, 4.8]
[0.3, 1.2, 1.4, 1.6, 2.2, 2.5, 3.7, 4.8]
Process finished with exit code 0