JAVA对象的增删改查

1.创建一个对象类

public class User {
        //用户的账号
	private String Id ;
        //用户的密码
	private String pwd;
	
	public User(){};
	public User(String id, String pwd) {
		super();
		Id = id;
		this.pwd = pwd;
	}
	public String getId() {
		return Id;
	}
	public void setId(String id) {
		Id = id;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	@Override
	public String toString() {
		return "当前账号有[Id=" + Id + "]";
	}
	
	
	
}

 

2.创建一个对象数组

 

public class DBUtil {
       //用户的数组
	public static User [] us =new User[10];
        //用户账号密码输入错误次数的数组
	public static Slip[] sl=new Slip[10];
	
}

3.创建用户输入错误次数的类,当次数达到一定上限,就锁定账号

public class Slip {
       //用户的id
	private String ID;
       //输入错误的次数
	private int number;
	
	public Slip(){
		
	}
	
	public Slip(String iD, int number) {
		super();
		ID = iD;
		this.number = number;
	}
	
	public String getID() {
		return ID;
	}
	public void setID(String iD) {
		ID = iD;
	}
	public int getNumber() {
		return number;
	}
	public void setNumber(int number) {
		this.number = number;
	}
	
	
	
}

4.创建增删改查的方法

package 对象;
import java.util.*;
import 对象.DBUtil;
import 对象.User;
import 对象.Slip;
public class UserSeries {
	Scanner sc = new Scanner(System.in);
		int index=0;
		int index1=0;
		User []us=DBUtil.us;
	public void register(){
		
		System.out.println("请输入要注册的账号");
		String Id = sc.next();
		boolean a = false;
		for(int i=0;i<index;i++){
			//判断账号有没有注册
            if(us[i].getId().equals(Id)){
				a =true;
				break;
			}
		}
//如果注册的用户数量接近数组长度时,进行数组扩容
if(index==us.length-2){
			User[]x=new User[us.length*2];
            //将扩容后的数组进行赋值
			for(int i=0;i<index;i++){
				x[i]=us[i];
			}us=x;
		}
		if(!a){
			System.out.println("请输入密码");
			String pwd = sc.next();
			User p=new User(Id,pwd);
			us[index]=p;
			index++;
			System.out.println("注册成功");
		}else{
			System.out.println("账号已存在,请重新注册");
		}
	}
	
	public void login(){
		
		Slip[] sl=DBUtil.sl;
		System.out.println("请输入要登录的账号");
		String ID = sc.next();
		
		int c=-1;
		for(int i=0;i<index1;i++){
			if(sl[i].getID().equals(ID)){
				c=i;
			}
		}
		if(index1==sl.length-2){
			Slip[]p=new Slip[sl.length*2];
			for(int i=0;i<index1;i++){
				p[i]=sl[i];
			}sl=p;
		}
        //判断账号密码是否输入错误3次
		if(c!=-1&&sl[c].getNumber()==3){
			System.out.println("密码错误3次,请明天再来");
			return;
		}
		for(int i=0;i<index;i++){
			if(us[i].getId().equals(ID)){
				System.out.println("请输入密码");
				String pwd = sc.next();
				if(us[i].getId().equals(ID)&&us[i].getPwd().equals(pwd)){
					System.out.println("登录成功");
				}else{
					
					if(c==-1){
						int number=1;
						Slip po= new Slip(ID,number);
						sl[index1]=po;
						index1++;
					}else{
						sl[c].setNumber(sl[c].getNumber()+1);
					}
					System.out.println("密码或账号错误");
				}
			}else{
				System.out.println("账号不存在,请重新输入");
			}
		}
	}
	
	public void amend(){
		
		System.out.println("请输入要修改的账号");
		String ID = sc.next();
		for(int i=0;i<index;i++){
			if(us[i].getId().equals(ID)){
				System.out.println("请输入初始密码");
				String pwd = sc.next();
				if(us[i].getPwd().equals(pwd)){		
					System.out.println("请输入新密码");
					String pwd1= sc.next();
					if(!pwd.equals(pwd1)){
						System.out.println("请再次输入新密码");
						String pwd2=sc.next();
						if(pwd2.equals(pwd1)){
							us[i].setPwd(pwd1);
							System.out.println("密码修改成功");
						}else{
							System.out.println("两次密码不一致,请重新输入");
						}
					}else{
						System.out.println("与原密码一致,请重新输入");
					}
				}else{
					System.out.println("密码或账号错误,请重新输入");
				}
			}else{
				System.out.println("账号不存在,请重新输入");
			}
		}
	}
	
	public void check(){
		
		for(int i=0;i<index;i++){
			
			System.out.println("当前注册的账号有:\t"+us[i].getId());
		}
	}
}

 

5.测试类

 

package 对象;
import java.util.*;
public class Test {
	public static void main(String[] args) {
		UserSeries u = new UserSeries();
		boolean one = true;
		Scanner sc = new Scanner(System.in);
		while(one){
			System.out.println("1 注册 2登录 3修改 4查看 5退出");
			int ta = sc.nextInt();
			switch(ta){
				case 1:
					u.register();
					break;
				case 2:
					u.login();
					break;
				case 3:
					u.amend();
					break;
				case 4:
					u.check();
					break;
				case 5:
					one=false;
			}
		}
		
		
	}
}

 

 

 

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值