import java.util.Scanner;
/**
-
有一组数据,将它们按降序排列。
-
要增加一个学员的成绩,将它插入成绩序列,并保持降序
*/
public class Demo02 {
public static void main(String[] args) {
int[] a = {99,98,88,77,74,55,63};//给定的数组//准备一个新的数组,数组长度是原来数组的长度+1 int[] num = new int[a.length+1]; //遍历赋值,将给定数组赋值给新数组 for (int i = 0; i < a.length; i++) { num[i] = a[i]; } //打印插入前数组进行对比 System.out.println("插入前:"); for (int nums:num) { System.out.print(nums + "\t"); } System.out.println();//换行 //键盘录入插入的数 Scanner input = new Scanner(System.in); System.out.println("请输入要插入的数:"); int insert = input.nextInt(); //index初始值只能赋值数组长度减一,也就是新数组的最后一位,避免插入负数数组下标越界异常 int index = num.length-1; for (int i = 0; i < a.length; i++) { //比较获取插入位置 if (insert>num[i]){ index = i; break; } } //从数组最小值开始往后面一位赋值 for (int i = num.length-1; i > index; i--) { num[i] = num[i-1]; } num[index] = insert; //打印插入后 System.out.println("插入后:"); for (int nums:num){ System.out.print(nums + "\t"); }
}
}