代码:
import java.util.Arrays;
import java.util.Scanner;
public class Work02 {
static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
int[] scores = {99,85,82,63,60};
System.out.print("请输入您需要插入的成绩:");
int newScore = input.nextInt();
//循环判断插入的数第一次大于数的下标,并定义index接收下标
int index = -1;
for(int i = 0;i<scores.length;i++) {
if(newScore>scores[i]) {
index = i;
break;
}
}
System.out.println("插入成绩的下标是:"+index);
//copyof复制生成一个比原来数组大一位的新数组,多出的一位没有赋值,默认为0
int[] scores1 = Arrays.copyOf(scores, scores.length+1);
//使用循环,从倒数第二个数开始,依次将数列往后移一位,直到移到将要出入数的下标为止(包括这个下标)
for(int i = scores1.length-1;i>index;i--) {
scores1[i] = scores1[i-1];
}
//将插入的数赋给index接收到的下标位置
scores1[index] = newScore;
//打印插入数后的数组
System.out.println("插入后的成绩信息是:");
for(int i:scores1){
System.out.print(i+"\t");
}
}
}
运行结果: