/*
随机生成10个整数(n < 100)保存到数组,并插入数组
*/
import java.util.Scanner;
public class Homework04{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int[] arr = new int[10]; //声明一个长度为10数组,且不进行初始化
int[] arrNew = new int[arr.length +1]; //声明一个新数组,长度比初数组大1.原理跟数组扩容一致
int indax = 0; //保存插入元素的索引
int insertNum = -1; //判断插入元素有没有找到插入位置
int temp = 0; //数组交换时的媒介
//初数组元素随机生成
for (int i = 0; i < arr.length; i++){
arr[i] = ((int)(Math.random() *100) +1);
}
//倒序排序初数组
for (int i = 0; i < arr.length -1; i++){
for (int j = 0; j < arr.length -1 -i; j++){
if (arr[j] < arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println("请输入插入元素:");
int num = input.nextInt();
//查找插入数组位置
for (int i = 0; i < arr.length; i++){
if (num < arr[i]){
indax = i+1;
insertNum = i;
}
}
//判断数组有没有找到数组位置
if (insertNum == -1){
indax = arrNew[arrNew.length -1];
}
//元素插入适当的位置
for (int i = 0, j = 0; i < arrNew.length; i++){
if (indax != i){
arrNew[i] = arr[j];
j++;
}else {
arrNew[i] = num;
}
}
//遍历元素插入完之后的数组
for (int i :arrNew) {
System.out.print(i+"\t");
}
}
}