JAVA 中/*定义一个数组容量为10 目前存入9个数值 用户输入一个数值 在不影响怕顺序的情况下插入进去,如果已经存在插入的数值,删除该数值

/*
定义一个数组容量为10    目前存入9个数值       用户输入一个数值
 在不影响怕顺序的情况下插入进去,如果已经存在插入的数值,删除该数值
 */
import java.util.*;
public class DeleatOrAddFromArray {
public static void main(String [] args){
//int [] arr=new int[10];
int []arr={1,2,3,4,5,6,7,8,9,-1};
/*
   //生名数组,并随即生成一个数组
int[] arr=new int[10];
 for(int i=0;i<arr.length-1;i++){
  arr[i]=(int)(Math.random()*101); 
 }
 */

 //从键盘接受用户输入的需要插入的数值find
 System.out.println("请数组需要插入的数值:");
   Scanner in=new Scanner(System.in);
    int find=in.nextInt();//接受需要查找的数值
//调用函数
DeleatAndAddFunction(arr,find);
PrintArray(arr);
}
//插入和删除数值函数
public static boolean DeleatAndAddFunction(int []array,int number){
//参数合法性判断
if(array == null||array.length == 0||number<0){
System.out.println("输入参数不合法");
return false;
}

int index = -1;//定义一个不可能出现的下标
for(int i = 0 ;i<array.length;i++){
if(array[i]==number){
index = i;
break;
}
}
//有上面判断得出结果;如果index=-1  表面插入数值不存在进行插入操作
if(index == -1){
//插入操作
for(int i = 0; i<array.length-1;i++){
if(number < array[i]){
index = i;
break;
}
}
//如果换没有到index = -1,说明插入的数值最大 直接放到最后位
if(index == -1){
array[array.length-1] = number;
}else{
for(int i = array.length-1;i>index;i--){
array[i]=array[i-1];
 }
array[index] = number;//替换原来数值
 }
//如果index!=-1  表面插入数值已经存在进行删除操作
}else {
//删除操作
for(int i = index;i<array.length-2;i++){
array[i] = array[i+1];
}
array[8]=-1;
}
return true;
}
/*
* 打印数组函数PrintArray
*/
public static void PrintArray(int[] array){
if(array==null||array.length==0){
System.out.println("请输入合法的参数!");
return;//传参不合法,结束函数运行
}
//for循环打印数组
System.out.println("你输入的数组为:");
for(int i = 0; i <array.length;i++){
System.out.println("array["+i+"] ="+array[i]);
}
return;
}
}

猜你喜欢

转载自blog.csdn.net/qq_39096055/article/details/80051503