[java] 사용자 관리 시스템 시뮬레이션

【사례문의】

  1. 사례 설명

사용자 관리 시스템을 시뮬레이션하는 프로그램을 작성하세요.
프로그램 실행 시 신규 사용자 등록, 사용자 로그인, 사용자 정보 수정, 사용자 조회
(사용자 이름 기반 퍼지 조회), 전체 사용자 조회 등의 기능 메뉴가 제공됩니다.
사용자 정보에는 ID 사용자 번호, 사용자 이름 사용자 이름, 비밀번호, 전화번호가 포함됩니다.
프로그램 테스트를 용이하게 하기 위해 프로그램에는 두 가지 테스트 데이터가 있습니다:
사용자 {id=' A101' , 사용자 이름='Chen Duxiu' , 비밀번호=' 888888' , 전화=' 1351 1 1 1 1 1 1 1 ' } 사용자 {id
= ' A102' , 사용자 이름='Li Dazhao' , 비밀번호=' 000000' , 전화=' 13912345678' }
사용자 조작을 용이하게 하기 위해 각 기능이 실행된 후 기능 메뉴가 다시 표시됩니다.

  1. 작업 결과

프로그램이 실행되면 기능 메뉴가 먼저 표시됩니다.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.

【사건의 목적】

• "사용자 관리 시스템" 프로그램 설계의 구현 아이디어를 분석하는 방법을 알아봅니다.

• 아이디어를 바탕으로 "사용자 관리 시스템" 프로그램 설계의 소스 코드 작성, 컴파일 및 운영을 독립적으로 완료합니다.

• String 클래스에 대한 지식이 있어야 합니다. 이 실험에 사용될 수 있는 String 클래스의 메소드는 다음과 같습니다: equals(),
isEmpty(), contain(), indexOf().

【사례분석】

이 프로젝트에는 사용자 클래스 User와 데모 테스트 클래스 UserDemo라는 두 가지 클래스가 있습니다.
1. 사용자 클래스
구성원 속성은 ID, 사용자 이름, 비밀번호, 전화번호입니다. 멤버 메서드에는 생성자, 설정자, getter 및 다음 형식으로 문자열을 반환하는
데 사용되는 재정의된 String toString() 메서드가 포함됩니다 .

사용자 {id=×× , 사용자 이름=×× , 비밀번호=×× , 전화=×× }

2. UserDemo 클래스

이 클래스는 사용자 목록을 저장해야 하며 여기에서는 사용자 유형의 배열이 고려됩니다. 정수 변수 userCount는
저장된 사용자 수를 기록합니다. 사용자 유형 변수 userLogin은 로그인 인증을 통과한 현재 사용자를 저장합니다. 그러므로,

구성원 속성은 다음과 같습니다. (다음은 모두 정적 속성입니다.)

 사용자[] 사용자목록

 정수 userCount

 사용자 사용자로그인。

멤버 메소드는 다음과 같습니다. (다음은 모두 정적 메소드입니다.)

 메인 메소드 void main()

 표시 기능 메뉴 void showMenu()

 모든 사용자 보기 void showAll()

 새로운 사용자 등록 void addUser()

 사용자 로그인 void login()

 사용자 정보 수정 void alterUser()

 사용자 쿼리 void searchByUsername()

[코드 실행]
1.User 클래스

package cn.edu.gpnu.bank.User;

public class User {
    
    
    public String id;
    public String username;
    public String password;
    public String phone;

    public User(String id, String username, String password, String phone) {
    
    
        this.id = id;
        this.username = username;
        this.password = password;
        this.phone = phone;
    }

    public String getId() {
    
    
        return id;
    }

    public void setId(String id) {
    
    
        this.id = id;
    }

    public String getUsername() {
    
    
        return username;
    }

    public void setUsername(String username) {
    
    
        this.username = username;
    }

    public String getPassword() {
    
    
        return password;
    }

    public void setPassword(String password) {
    
    
        this.password = password;
    }

    public String getPhone() {
    
    
        return phone;
    }

    public void setPhone(String phone) {
    
    
        this.phone = phone;
    }

    @Override
    public String toString() {
    
    
        return "User{" +
                "id='" + id + '\'' +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", phone='" + phone + '\'' +
                '}';
    }
}


2.UserDemo 클래스

package cn.edu.gpnu.bank.User;

import java.util.Scanner;

public class UserDemo {
    
    
    static User[] userList = new User[100]; //用数组保存用户信息
    static int userCount = 0; //保存的用户的数量
    static User userLogin = null; //记录当前登录的用户

    public static void main(String[] args) {
    
    
        User user;
        user = new User("A101", "陈独秀", "888888", "13511111111");//测试数据
        userList[userCount++] = user; //保存到数组中,并修改数量值。
        user = new User("A102", "李大钊", "000000", "13912345678");//测试数据
        userList[userCount++] = user; //保存到数组中,并修改数量值。
        Scanner scanner = new Scanner(System.in);
        while (true) {
    
    
            showMenu(); //打印系统操作菜单
            String choice = scanner.nextLine(); //获取用户要执行的命令编号
            switch (choice) {
    
    
                case "1": //显示所有用户信息
                    showAll();
                    break;
                /* ****补充多行代码****。  */
                case "2": //注册新用户
                    addUser();
                    break;
                case "3": //用户登录
                    login();
                    break;
                case "4": //修改用户信息
                    alterUser();
                    break;
                case "5": //查询用户
                    searchByUsername();
                    break;
                case "0": //结束程序
                    System.out.println("程序运行结束。");
                    return;
            }
        }
    }


    public static void showMenu() {
    
    
        System.out.println("*** 欢迎使用用户管理系统 ***");
        System.out.println("1.查看所有用户");
        System.out.println("2.注册新用户");
        System.out.println("3.登录用户");
        System.out.println("4.修改用户信息");
        System.out.println("5.根据用户名模糊查询");
        System.out.println("0.退出程序");
        System.out.print("请选择要执行的操作:");
    }

    public static void showAll() {
    
    
        System.out.println("系统的所有用户信息如下:");
        for (int i = 0; i < userCount; i++) {
    
    
            System.out.println(userList[i].toString());
        }
    }

    public static void addUser() {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入用户编号:");
        String id = scanner.nextLine();

        /* ****补充多行代码****。提示:获取注册用户的其他信息,然后添加该用户到列表 */
        System.out.print("请输入用户名:");
        String username = scanner.nextLine();

        System.out.print("请输入用户密码:");
        String password = scanner.nextLine();

        System.out.print("请输入用户联系电话:");
        String phone = scanner.nextLine();

        System.out.println("成功添加用户。");
        User user;
        user = new User(id, username, password, phone);
        userList[userCount++] = user;

    }

    private static void login() {
    
    
        User user = null;
        String id;
        String password;

        System.out.print("请输入用户编号:");
        Scanner scanner = new Scanner(System.in);
        id = scanner.nextLine();
        /* ****补充多行代码****。提示:从用户列表中搜索该用户编号的用户*/
        for (int i = 0; i < userCount; i++) {
    
    
            if (userList[i].id.equals(id)) {
    
    
                user = userList[i];
            }
        }


        if (user == null) {
    
    
            System.out.println("用户不存在!");
            return;
        }
        System.out.print("请输入用户密码:");
        password = scanner.nextLine();

        if (user.password.equals(password) /* ***补充代码****。提示:验证密码是否正确 */) {
    
    
            System.out.println("登录成功");
            /* ***补充代码****。提示:更新当前登录用户。*/
            userLogin = user;
        } else {
    
    
            System.out.println("登录失败");
            userLogin = null;
        }
    }

    private static void alterUser() {
    
    
        if (userLogin == null) {
    
    
            System.out.println("你尚未登录系统,请先登录验证。");
            return;
        }
        String username;
        String password;
        String phone;
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入新的用户名:[" + userLogin.getUsername()
                + "]");
        username = scanner.nextLine();
        userLogin.setUsername(username);

        System.out.print("请输入新的密码:[" + userLogin.getPassword()
                + "]");
        password = scanner.nextLine();
        userLogin.setPassword(password);
        System.out.print("请输入新的联系电话:[" + userLogin.getPhone()
                + "]");
        phone = scanner.nextLine();
        userLogin.setPhone(phone);

        /* ****补充多行代码****。提示:若输入新信息不为空,则保存到 userLogin 对象。  */
        System.out.println("用户信息修改成功。");
    }

    private static void searchByUsername() {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入要查询的用户名:");
        String username = scanner.nextLine();
        System.out.println("查询结果如下:");

        /* ****补充多行代码****。提示:参考 showAll()方法。*/
        for (int i = 0; i < userCount; i++) {
    
    
            if (userList[i].username.contains(username) == true) {
    
    
                System.out.println(userList[i]);
            }
        }
    }
}

추천

출처blog.csdn.net/m0_52703008/article/details/126201772