Java采用接口的思想实现用户类的操作

该代码示例展示了使用Java实现用户注册、登录和重置密码的功能。通过IUserDao接口定义了基本操作,JavaBean类存储用户信息,UserDaoImpl实现了接口并提供了交互式控制台操作,TestUser类用于测试这些功能。
摘要由CSDN通过智能技术生成

注册账号界面

登录账号界面

 

重置密码界面

IUserDao.java

public interface IUserDao {
    abstract public void AddUser();
    abstract public void FindUser();
    abstract public void ResetPassword();
}

JavaBean.java

public class JavaBean {
    public static String User;
    public static String Password;
    public static String ConfirmPassword;
    public static String Birthday;
    public JavaBean(String user, String password, String confirmPassword, String birthday) {
        User = user;
        Password = password;
        ConfirmPassword = confirmPassword;
        Birthday = birthday;
    }

    public String getUser() {
        return User;
    }

    public void setUser(String user) {
        User = user;
    }

    public String getPassword() {
        return Password;
    }

    public void setPassword(String password) {
        Password = password;
    }

    public String getConfirmPassword() {
        return ConfirmPassword;
    }

    public void setConfirmPassword(String confirmPassword) {
        ConfirmPassword = confirmPassword;
    }

    public String getBirthday() {
        return Birthday;
    }

    public void setBirthday(String birthday) {
        Birthday = birthday;
    }
}

UserDaoImpl.java

import java.util.Scanner;
public class UserDaoImpl implements IUserDao {
    public String UserName1;
    public String UserPassword1;
    public int count1 = 0;
    public int count2 = 0;
    public int count3 = 0;
    public int count4 = 0;
    public int count5 = 0;
    public void AddUser() {    //添加用户(注册功能)
        System.out.println("^^^^^^^^^^^^^^^^注册界面^^^^^^^^^^^^^^^^");
        System.out.println("您还未注册,请先进行注册");
        Scanner scanner1 = new Scanner(System.in);
        System.out.print("请输入您的用户名称:");
        JavaBean.User = scanner1.nextLine();

        System.out.print("请输入您的用户生日:");
        JavaBean.Birthday = scanner1.nextLine();

        while (count1 <= 3) {
            System.out.print("请输入用户密码:");
            JavaBean.Password = scanner1.nextLine();

            System.out.print("请确认用户密码:");
            JavaBean.ConfirmPassword = scanner1.nextLine();

            if (JavaBean.ConfirmPassword.equals(JavaBean.Password)) {
                System.out.println("\n密码设置成功,请重新登录!");
                System.out.println("正在跳转中,请稍后!");
                FindUser();

            } else {
                System.out.println("密码前后设置不一致,请重新设置!");
                count1 = count1 + 1;
            }
        }
    }

    public void FindUser() {    //查找用户(登录功能)
        while (count2 <= 3) {
            System.out.println("****************登录界面*****************");
            System.out.print("用户登录名:");
            Scanner scanner2 = new Scanner(System.in);
            String UserName2 = scanner2.nextLine();
            if (UserName2.equals(JavaBean.User)) {
                System.out.println("✔");

                System.out.print("用户密码:");
                String UserPassword2 = scanner2.nextLine();

                if (JavaBean.Password.equals(UserPassword2)) {
                    System.out.println("✔");
                    System.out.println("登陆成功!");
                    System.out.println("++++++++++++++++用户信息++++++++++++++++");
                    System.out.println("  用户名:"+JavaBean.User);
                    System.out.println("  生  日:"+JavaBean.Birthday);
                    System.out.println("+++++++++++++++++++++++++++++++++++++++");
                    count2=4;
                    count1=4;

                } else {
                    System.out.println("密码错误!请重新输入");
                    count2 = count2 + 1;
                    count3 = count3 + 1;
                }
                if(count3==4){
                    System.out.println("输入次数过多,请稍后再试");
                }
            } else {
                System.out.print("查无此用户!请重新输入,注册账号请输入1,重新登录按任意键>>>");
                Scanner Again=new Scanner(System.in);
                String AgainNumber=Again.nextLine();
                if(AgainNumber.equals("1")){
                    AddUser();
                }else {
                    FindUser();
                }
            }
            System.out.println("\n");
        }
    }
    public void ResetPassword(){    //用户(重置密码)
        while (count4 <= 3) {
            System.out.println("================密码重置================");
            System.out.print("用户登录名:");
            Scanner scanner3 = new Scanner(System.in);
            String UserName3 = scanner3.nextLine();
            if (UserName3.equals(JavaBean.User)) {
                System.out.print("请输入旧的密码:");
                String UserPassword3 = scanner3.nextLine();
                if (UserPassword3.equals(JavaBean.Password)) {
                    System.out.print("验证通过,请输入新的密码:");
                    String UserPassword4 = scanner3.nextLine();
                    System.out.print("请确认用户新的密码:");
                    String UserPassword4Confirm = scanner3.nextLine();
                    if (UserPassword4Confirm.equals(UserPassword4)) {
                        JavaBean.Password=UserPassword4Confirm;
                        System.out.println("已更换为新的密码!请重新登录!");
                        count2 =0;
                        count3 =0;
                        count4 =4;
                        while (count2 <= 3) {
                            System.out.println("****************登录界面*****************");
                            System.out.print("用户登录名:");
                            Scanner scanner2 = new Scanner(System.in);
                            String UserName2 = scanner2.nextLine();
                            if (UserName2.equals(JavaBean.User)) {
                                System.out.println("✔");

                                System.out.print("用户密码:");
                                String UserPassword2 = scanner2.nextLine();

                                if (JavaBean.Password.equals(UserPassword2)) {
                                    System.out.println("✔");
                                    System.out.println("登陆成功!");
                                    System.out.println("++++++++++++++++用户信息++++++++++++++++");
                                    System.out.println("  用户名:"+JavaBean.User);
                                    System.out.println("  生  日:"+JavaBean.Birthday);
                                    System.out.println("+++++++++++++++++++++++++++++++++++++++");
                                    count2=4;
                                    count1=4;
                                    count5=1;

                                } else {
                                    System.out.println("密码错误!请重新输入");
                                    count2 = count2 + 1;
                                    count3 = count3 + 1;
                                }
                                if(count3==4){
                                    System.out.println("输入次数过多,请稍后再试");
                                }
                            } else {
                                System.out.print("查无此用户!请重新输入,注册账号请输入1,重新登录按任意键>>>");
                                Scanner Again=new Scanner(System.in);
                                String AgainNumber=Again.nextLine();
                                if(AgainNumber.equals("1")){
                                    AddUser();
                                }else {
                                    FindUser();
                                }
                            }
                            System.out.println("\n");
                        }
                    }else {
                        System.out.println("密码前后设置不一致,请重新设置!");
                        count4 = count4 + 1;
                    }
                    if(count4==4 && count5==0){
                        System.out.println("输入次数过多,请稍后再试");
                    }
                }else{
                    System.out.println("旧密码验证不通过!请重新输入!");
                }
            }else {
                System.out.print("查无此用户!请重新输入,注册账号请输入1,重新登录按任意键>>>");
                Scanner Again=new Scanner(System.in);
                String AgainNumber=Again.nextLine();
                if(AgainNumber.equals("1")){
                    AddUser();
                    ResetPassword();
                }else {
                    count2=0;
                    count3=0;
                    FindUser();
                }
            }
        }
    }
}

TestUser.java

import java.util.Scanner;

public class TestUser{
    public static void main(String[] args){
        System.out.println("---------------------------------------");
        System.out.println("1.注册账号    2.登录账号    3.重置密码");
        System.out.println("---------------------------------------");
        System.out.print("请选择要执行的操作(直接输入数字)>>>");
        UserDaoImpl userDaoImpl1=new UserDaoImpl();
        Scanner input=new Scanner(System.in);
        int number=input.nextInt();
        switch (number){
            case 1:
                userDaoImpl1.AddUser();
                break;
            case 2:
                userDaoImpl1.FindUser();
                break;
            case 3:
                userDaoImpl1.ResetPassword();
        }
    }
}

目录

注册账号界面

登录账号界面

重置密码界面

IUserDao.java

JavaBean.java

UserDaoImpl.java

TestUser.java


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
IUserDao接口和UserDaoImpl实现,验证用户操作是否正确实现。以下为示例代码: User.java: ```java public class User { private String username; private String password; private String confirmPassword; private Date birthday; // 省略getter、setter方法 } ``` IUserDao接口: ```java public interface IUserDao { boolean addUser(User user); // 添加用户注册功能) User findUser(String username, String password); // 查找用户(登录功能) boolean updateUser(String username, String password); // 修改用户(重置密码) } ``` UserDaoImpl实现: ```java public class UserDaoImpl implements IUserDao { private List<User> userList = new ArrayList<>(); // 模拟用户数据 @Override public boolean addUser(User user) { // 判断用户名是否已存在 for (User u : userList) { if (u.getUsername().equals(user.getUsername())) { return false; } } // 添加用户 userList.add(user); return true; } @Override public User findUser(String username, String password) { // 查找用户 for (User u : userList) { if (u.getUsername().equals(username) && u.getPassword().equals(password)) { return u; } } return null; } @Override public boolean updateUser(String username, String password) { // 修改用户密码 for (User u : userList) { if (u.getUsername().equals(username)) { u.setPassword(password); return true; } } return false; } } ``` TestUser测试: ```java public class TestUser { private IUserDao userDao = new UserDaoImpl(); // 实例化UserDaoImpl @Test public void testAddUser() { User user = new User(); user.setUsername("test"); user.setPassword("123456"); user.setConfirmPassword("123456"); user.setBirthday(new Date()); boolean result = userDao.addUser(user); Assert.assertTrue(result); // 断言添加用户成功 } @Test public void testFindUser() { User user = userDao.findUser("test", "123456"); Assert.assertNotNull(user); // 断言查找用户成功 } @Test public void testUpdateUser() { boolean result = userDao.updateUser("test", "654321"); Assert.assertTrue(result); // 断言修改用户密码成功 User user = userDao.findUser("test", "654321"); Assert.assertNotNull(user); // 断言查找用户成功 } } ``` 以上为用户操作实现采用接口思想可以使代码更加灵活、扩展性更好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZYT_庄彦涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值