题目:
有一个数组,其中有十个元素从小到大依次排列 {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] + " ");}
}
代码有可能不是最优解答,如果有大佬也可以把更完美的代码发到评论区,或者给出优化的代码