数组案例题

   有一个数组,其中有十个元素从小到大依次排列 {12,14,23,45,66,68,70,77,90,91}。再通过键盘录入一个整数数字。要求:把数字放入数组序列中,生成一个新的数组,并且数组的元素依旧是从小到大排列的。执行效果如下:

请输入一个整数数字:
50
生成的新数组是:12 14 23 45 50 66 68 70 77 90 91

//导包

import java.util.Scanner;

public class Rank {
    
    
    public static void main(String[] args) {
    
    
        int[] before = {
    
    12, 14, 23, 45, 66, 68, 70, 77, 90, 91};//定义原数组
        int[] next = new int[11];//定义一个新数组,空的
        Scanner sc = new Scanner(System.in);//创建对象
        System.out.println("请输入一个数:");
        int n = sc.nextInt();//键盘录入
        int index = 0;//定义位置变量
        for (int i = 0; i < before.length; i++) {
    
    //遍历原数组
            if (before[i] <= n) {
    
    //如果原数组元素小于等于输入的数,插入的位置为原位置
                next[i] = before[i];
                index = i + 1;
            } else {
    
    //如果原数组元素大于输入的数,插入的位置向后移动一位
                next[i + 1] = before[i];
            }
            next[index] = n;//index位置就是数字要插入的位置

        }
        System.out.print("新的数组是");//输出数组并检查
        for (int i = 0; i < next.length; i++) {
    
    
            System.out.print(next[i] + " ");
        }

    }
}

Guess you like

Origin blog.csdn.net/ww166955/article/details/119182124