JAVA学习笔记

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 退出
1
请输入账号:
111
注册成功
请选择: 1 注册 2 登陆 3 退出
2
请输入账号:
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();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值