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)));
}
}