数组-插入数值--0703

代码:

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+"	");
        }
    }
}

运行结果:

原文地址:https://www.cnblogs.com/Dean-0/p/11125501.html