1.定义一个初始值是2的一维整型数组,用户输入一个值,将该值插入到数组恰当的位置2.定义一个整型数组arr= {1,2,2,3,4,4,8,8,9};里面还有重复项,将该数组中重复出现的整数只保留一个

import java.util.Arrays;
import java.util.Scanner;

//第一题
//定义一个初始值是2的一维整型数组,用户输入一个值,
// 将该值插入到数组恰当的位置(该数组是按照从小到大进行排序的)。
public class Exerse1{
    public static int[] toInsertNum(int[] arr,int a,int pos){
        int len=arr.length;//原数组的长度
        arr=Arrays.copyOf(arr,arr.length + 1);//扩容之后的数组
        for(int i=0;i<arr.length-1;i++){
            if (a >= arr[i]&&a<arr[i+1]) {//将后面的数值后移操作
                pos=i+1;
        }
        }
        for(int i=0;i<pos;i++){
            if (a >= arr[i]&&a<arr[i+1]) {//将后面的数值后移操作
                for(int j=arr.length-1;j>i+1;j--){
                arr[j]=arr[j-1];
                }
                arr[i+1]=a;
                }
        }
        return arr;
        }
        
    public static void main(String[] args) {
        int a = 4;
        int[] arr = {2,3,4,5,6};
        int pos=0;
        System.out.println(Arrays.toString(toInsertNum(arr,a,pos)));
        }
    }


//第二题
// 定义一个整型数组arr={1,3,4,2,6,2,6,2,8,2,6};里面还有重复项,
// 将该数组中重复出现的整数只保留一个,其余的删除。
public class Exerse3{
 public static int[] toRemoveNum(int[] arr){
     Arrays.sort(arr);//排序
     int pos=0;
//     int len=arr.length;//原数组的长度
     int count=0;
     for(int i=0;i<arr.length-1;i++){
         if(arr[i]==arr[i+1]){
             pos=i;
             count++;
         }
     }
     for(int i=0;i<pos+1;i++){
         if (arr[i]==arr[i+1]) {//将后面的数值前移操作
             for(int j=i+1;j<arr.length;j++){
             arr[j-1]=arr[j];
             }
             }
     }
     arr=Arrays.copyOf(arr,arr.length-count);//缩容之后的数组
        return arr;
     }
     
 public static void main(String[] args) {
     int[] arr = {1,2,2,3,4,4,8,8,9};
     System.out.println(Arrays.toString(toRemoveNum(arr)));
     }
 }

猜你喜欢

转载自blog.csdn.net/ZQ_313/article/details/82262531