控制台实现一个小注册系统

系统类

package work;

import java.util.Scanner;

import javax.jws.soap.SOAPBinding.Use;
import javax.lang.model.element.Element;

import day05.sanjiao;

public class RegisterSys {
    private User[] users=new User[1];
    private User CurrentUser;
    private int Max=11; //最大用户数 下标0为管理员账号
    
    public RegisterSys() {
        users[0]=new User("admin", "123");
        users[0].setDegree(level.admin);
    }

    public User[] getUsers() {
        return users;
    }

    public void setUsers(User[] users) {
        this.users = users;
    }

    public User getCurrentUser() {
        return CurrentUser;
    }

    public void setCurrentUser(User currentUser) {
        CurrentUser = currentUser;
    }

    public int getMax() {
        return Max;
    }

    public void setMax(int max) {
        Max = max;
    }

    //添加用户数组
    public boolean pushUser(User user){
        if(users.length==Max){
            System.out.println("已经达到最大用户数!");
            return false;   //已经达到最大用户数
        }else{
            User[] new_users=new User[users.length+1];
            System.arraycopy(users, 0, new_users, 0, users.length);
            new_users[users.length]=user;
            users=new_users;
            return true;
        }
    }
    
    //控制台清屏
    private static void clearConsole()
    {
        try
        {
            String os = System.getProperty("os.name");

            if (os.contains("Windows"))
            {
                Runtime.getRuntime().exec("cls");
            }
            else
            {
                Runtime.getRuntime().exec("clear");
            }
        }
        catch (Exception exception)
        {
            //  Handle exception.
        }
    }
    
    
    //删除指定用户
    public boolean deleteUser(String name){
        if(users.length==1) {
            System.out.println("普通用户数为0,删除失败!");
            return false;
        }
            
        int index;
        for(int i=0;i<users.length;i++)
        {
            if(users[i].getName().equals(name)){
                index=i;
                if(index==0)
                {
                    System.out.println("管理员不能删除,删除失败!");
                    return false;
                }
                User[] new_users=new User[users.length-1];
                System.arraycopy(users, 0, new_users, 0, i);
                System.arraycopy(users, i+1, new_users, i, users.length-1-i);
                users=new_users;
                System.out.println("删除成功!");
                return true;
            }
        }
        System.out.println("没有该用户,删除失败!");
        return false;
    }
    
    //修改用户密码
    public boolean changePassWord(String name,String password){
         if(!inspect(name)){    //有改账户
             selectUser(name).setPassword(password);
             return true;
         }else {
            return false;
        }
    }
    
    //显示所有用户
    public void showUser(){
        for(User user:users){
            System.out.println(user.getName());
        }
    }
    
    //检查注册用户是否重复
    public boolean inspect(String name){
        for(User user : users){
            if(user.getName().equals(name))
            {
                return false;   //有改帐户名
            }
        }
        return true;    //没有该账户
    }
    
    //查找用户
    public User selectUser(String name){
        for(User user : users){
            if(user.getName().equals(name))
            {
                return user;    //有相等的帐户名
            }
        }
        return null;
    }
    
    //开始界面
    public void Begin(){
        if(CurrentUser!=null){
            return;
        }
        //登入注册 dlzc
        System.out.println("1、登入");
        System.out.println("2、注册");
        System.out.print("请选择:");
        Scanner scanner=new Scanner(System.in);
        int dlzc=scanner.nextInt();
        if(dlzc==1)
        {
            Login();
        }else if (dlzc==2) {
            Register();
        }
    }
    
    //用户注册
    public void Register(){
        Scanner scanner=new Scanner(System.in);
        while(true){
            System.out.print("请输入用户名:");
            String userName=scanner.next();
            boolean isCf=inspect(userName);
            if(!isCf){
                System.out.println("已经有该账户名!");
                System.out.println("1、重新输入");
                System.out.println("2、返回上一层");
                System.out.print("请输入:");
                int xz=scanner.nextInt();
                if(xz==1){
                    continue;
                }else{
                    break;
                }
            }else {
                System.out.print("请输入密码:");
                String password=scanner.next();
                User user=new User(userName, password);
                pushUser(user);
                System.out.println("恭喜你注册成功!");
                CurrentUser=user;
                return ;
            }
        }
        clearConsole();
        Begin();
    }
    
    //用户登入
    public void Login(){
        Scanner scanner=new Scanner(System.in);
        while(true){
            System.out.print("请输入用户名:");
            String userName=scanner.next();
            boolean isCf=inspect(userName);
            if(isCf){
                System.out.println("没有该账户!");
                System.out.println("1、重新输入");
                System.out.println("2、返回上一层");
                System.out.print("请输入:");
                int xz=scanner.nextInt();
                if(xz==1){
                    continue;
                }else{
                    break;
                }
            }else {
                System.out.print("请输入密码:");
                String password=scanner.next();
                for(User user:users){
                    if(user.getName().equals(userName)&&user.getPassword().equals(password)){
                        System.out.println("恭喜你登入成功!");
                        CurrentUser=user;
                        return;
                    }
                }
                System.out.println("密码错误!");
                continue;
            }
        }
        clearConsole();
        Begin();
    }
    
    //账号登入后 账户功能分配
    public void FunctionClassify(){
        System.out.println("欢迎登入!"+CurrentUser.getName());
        System.out.println("功能:");
        if(CurrentUser.getDegree()==level.admin){
            FunctionAdmin();
        }else {
            FunctionUser();
        }
    }
    
    //管理员功能函数
    public void FunctionAdmin(){
        Scanner scanner=new Scanner(System.in);
        int xz;
        System.out.println("1、显示所有会员信息");
        System.out.println("2、删除普通用户");
        System.out.println("3、退出");
        System.out.print("请选择:");
        xz=scanner.nextInt();
        if(xz==3){
            CurrentUser=null;
            Begin();
        }else if(xz==1){
            showUser();
            FunctionAdmin();
        }else if(xz==2){
            System.out.print("请输入要删除的普通用户名:");
            String user=scanner.next();
            deleteUser(user);
            FunctionAdmin();
        }
    }
    
    //普通用户功能
    public void FunctionUser(){
        Scanner scanner=new Scanner(System.in);
        int xz;
        System.out.println("1、修改用户名");
        System.out.println("2、修改密码");
        System.out.println("3、退出");
        System.out.print("请选择:");
        xz=scanner.nextInt();
        if(xz==3){
            CurrentUser=null;
            Begin();
        }else if(xz==1){
            System.out.print("请输入新用户名:");
            String newName=scanner.next();
            boolean isWin=CurrentUser.setName(newName);
            if(isWin){
                System.out.println("修改用户名成功!");
                FunctionClassify();
            }else {
                FunctionClassify();
            }
        }else if (xz==2) {
            System.out.print("请输入新密码:");
            String newPassword=scanner.next();
            boolean isWin=CurrentUser.setPassword(newPassword);
            if(isWin){
                System.out.println("修改密码成功!");
                FunctionClassify();
            }else {
                FunctionClassify();
            }
        }
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        RegisterSys rs=new RegisterSys();
        while(true){
            rs.Begin();
            rs.FunctionClassify();
        }
    }
    
}

用户类

package work;

public class User {
    private String name;
    private String password;
    private level degree;   //权限
    public level getDegree() {
        return degree;
    }
    public void setDegree(level degree) {
        this.degree = degree;
    }
    public User(String name, String password) {
        super();
        this.name = name;
        this.password = password;
        this.degree=level.user;
    }
    public String getName() {
        return name;
    }
    public boolean setName(String name) {
        if("".equals(name)&&name.equals(null))
        {
            System.out.print("新用户名不能为空!");
            return false;
        }else {
            this.name = name;
            return true;
        }
    }
    public String getPassword() {
        return password;
    }
    public boolean setPassword(String password) {
        if("".equals(password)&&password.equals(null))
        {
            System.out.print("新密码不能为空!");
            return false;
        }else {
            this.password = password;
            return true;
        }   
    }
    
    public void showInfo() {
        System.out.println("name"+name);
    }
}

权限枚举

package work;

public enum level {
    admin,user;
}

猜你喜欢

转载自www.cnblogs.com/Pied-Piper/p/9047638.html
今日推荐