ArrayList数组重复元素等问题解决
1.数组删除某一个元素功能
有数组arr:{1 5 2 4 7};删除元素2
使用Arrays.toString(arr);使其变成:1 5 4 7
public class Test {public static int search(int[] arr,int value){for(int i=0;i<arr.length;i++){if (arr[i] == value){return i;}}return -1;}public static int[] delete(int[] arr,int value){int index= search(arr,value);if (index< 0){return arr;}for(int i = index;i<arr.length-1;i++){arr[i] = arr[i+1];}arr=Arrays.copyOf(arr,arr.length-1);return arr;}public static void main(String[] args){int[]arr={1,2,3,4};arr=delete(arr,2);System.out.println(Arrays.toString(arr));}}
2.删除有重复元素的数组
有数组arr[] ={2,2,2,2,0};删除重复元素;
public class Test {public static int[] deleteRepeatValue(int[]arr, int value) {for (int i = 0; i < arr.length;) {if (arr[i]== value) { //数据移动for (int j = i; j < arr.length - 1; j++) {arr[j] = arr[j + 1];}arr = Arrays.copyOf(arr,arr.length - 1);}else{i++;}}return arr;}public static void main(String[] args){int[]arr={2,2,2,2,0};arr=deleteRepeatValue(arr,2);System.out.println(Arrays.toString(arr));}}
3.二分查找(折半查找)
有数组arr[] ={1,3,5,7,9,10,15};折半查找
public class Test {public static int binaryserach(int[]arr, int value) {int left = 0;int right = arr.length-1;while (leftvalue){right = a-1;}else if(arr[a]<value){left=a+1;}else {return a;}}return -1;}public static void main(String[] args){int[]arr={1,3,5,7,9,10,15};int a = binaryserach(arr,15);System.out.println(a);}}
4.登陆注册功能实现
eg: 请选择:
1 注册 2 登陆 3 退出
请输入账号:111 注册成功
eg: 请选择:
1 注册 2 登陆 3 退出
请输入账号:111 登陆成功
public class Test {public static boolean login(int [] arr){System.out.println(“请输入账号:”);Scanner scanner = new Scanner(System.in);int id = scanner.nextInt();for (int i = 0;i<arr.length;i++){if (arr[i]== id){return true;}}return false;}public static boolean register(int[] arr,int size){System.out.println(“请输入账号:”);Scanner scanner = new Scanner(System.in);int id = scanner.nextInt();arr[size] = id;return true;}public static void operate() {int[]ids = new int[10];int size = 0;while(true) {System.out.println(“1.登陆 2.注册 3.退出”);Scanner scanner = new Scanner(System.in);int choice = scanner.nextInt();if (choice== 3) {break;}switch (choice){case 1:boolean flag = login(ids);if (flag){System.out.println(“登陆成功”);} else {System.out.println(“登录失败”);}break;case 2:flag = register(ids,size);if (flag){System.out.println(“注册成功”);} else {System.out.println(“注册失败”);}break;}}}public static void main(String[] args){operate();}}
经博主授权转载:https://blog.csdn.net/qq_35911118/article/details/93868944