本篇博客转载自qiu_lovejun998
链接地址:https://blog.csdn.net/qq_35911118/article/details/93868944
- 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.删除有重复元素的数组
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.二分查找(折半查找)
public class Test {
public static int binaryserach(int[]arr, int value) {
int left = 0;
int right = arr.length-1;
while (left<=right)
{
int a = (left+right)/2;
if(arr[a]>value){
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 注册成功
请选择:
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();
}
}