2 qq 39190586 qq_39190586 于 2017.09.17 11:30 提问

java数组,题目在开头

/*在排序好的数组中添加一个数字,将添加后的数字插入到数组合适的位置*/
public class java8910 {
public static void main(String[] args) {
int Arr[]= {67,89,87,69,90,100,75,90};
int newArr[]= null;
newArr = new int[9];
int n=1;
int i,j;
java.util.Arrays.sort(Arr);
System.out.println("元素插入之前排序后:");
for(i=0;i<Arr.length;i++) {
System.out.print(Arr[i]+"\t");
}
for(i=0;i<Arr.length;i++) {
if(n<Arr[i]) {
for(j=0;j<i;j++) {
newArr[j]=Arr[j];
}
newArr[i]=n;
for(j=i;j<Arr.length;j++) {
newArr[j+1]=Arr[j];
}
}
}
System.out.println("");
System.out.println("插入后数组:");
for(i=0;i<newArr.length;i++) {
System.out.print(newArr[i]+"\t");
}

}

}

1个回答

as_csdn
as_csdn   2017.09.17 17:52
已采纳
     //自定义数组:数组排序,插入一个新的数,这个数组还是有序的
        Scanner s=new Scanner(System.in);
        System.out.print("输入数组长度:");
        int n=s.nextInt();
        System.out.print("输入数组:");
        int a[]=new int[n];
        for(int i=0;i<a.length;i++){
            a[i]=s.nextInt();
        }
        Arrays.sort(a);//排序
        int a1[]=new int[a.length+1];
        for(int i=0;i<a.length;i++){
            a1[i]=a[i];
        }
        System.out.print("输入一个数:");
        int num=s.nextInt();
        int index=a.length;
        for(int i=0;i<a.length;i++){
            if(num<a[i]){
                index=i;
                break;
            }
        }
        a1[index]=num;
        for(int i=index+1;i<a1.length;i++){
            a1[i]=a[i-1];
        }
        for(int i=0;i<a1.length;i++){
            System.out.print(a1[i]+" ");
        }
Csdn user default icon
上传中...
上传图片
插入图片