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