0
点赞
收藏
分享

微信扫一扫

java 中动态数组向下转型

fbd4ffd0717b 2024-06-16 阅读 10

题目:

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

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


我写的代码:

public static void main(String[] args) {
    int[] arr = {12,14,23,45,66,68,70,77,90,91};
    int[] brr = new int[arr.length + 1];
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个整数:");
    int num = sc.nextInt();
    int index = arr.length;
    for (int i = 0; i < arr.length; i++) {
        if (num < arr[i]){
            index = i;
            break;
        }
    }
    for (int i = 0,j = 0; i < brr.length; i++,j++) {
        if (i == index){
            brr[i] = num;
            i++;
        }
        brr[i] = arr[j];
    }
    for (int i = 0; i < brr.length; i++) {
        System.out.print(brr[i] + " ");
    }
}

代码有可能不是最优解答,如果有大佬也可以把更完美的代码发到评论区,或者给出优化的代码

举报

相关推荐

0 条评论