有一个数组, 其中有十个元素从小到大依次排列 {12,14,23,45,66,68,70,77,90,91}。 再通过键盘录入一个整数数字。要求:把数字放入数组序列中, 生成一个新的数组,并且数组的元素依旧是从小到大排列的。执行效果如下: 请输入一个整数数字: 50 生成的新数组是:12 14 23 45 50 66 68 70 77 90 91
public static void main(String[] args) {
int[] arr ={12,14,23,45,66,68,70,77,90,91};
int[] arr2 = new int[arr.length+1];
//键盘录入一个数字
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数: ");
int num = sc.nextInt();
//将数字放入到数组中
//定义一个要变量,表示要插入的位置
int index =0;
//遍历原数组
for (int i = 0; i < arr.length; i++) {
//如果元素小于 要插入的值,则直接存放
if (arr[i] < num ){
arr2[i] = arr[i];
//把i的值记录下来
index = i+1;
}else {
arr2[i+1] =arr[i];
}
//将插入的值放在数组上
arr2[index] = num;
}
//循环遍历新数组
for (int i = 0; i < arr2.length; i++) {
System.out.print(arr2[i]+" ");
}