java eclipse HashMap实现简单登陆系统

                                首先创建一个密码类,用于保存注册的密码:

package registerSystem;//包名

public class PassWord {
    private String password;

    public PassWord() {
        super();
        // TODO Auto-generated constructor stub
    }

    public PassWord(String password) {
        super();
        this.password = password;
    }

    public String getPassword() {
        return password;
    }

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

                                                        然后创建调用类:

package registerSystem;

import java.util.HashMap;
import java.util.Scanner;

public class Test_1 {
    //登录系统
public static void main(String[] args) {
        HashMap<String, PassWord> map= new HashMap<String, PassWord>();
        while (true) {
            System.out.println("------------欢迎来到小黄站------------");
            System.out.println("本站立足于美利坚自由共和国,本站是合法的");
            System.out.println("尊敬的游客,您是会员吗?");
            System.out.println("1 是,我要登录账号");
            System.out.println("2 不是,我要注册会员");
            System.out.println("3 我要退出");
            Scanner sc= new Scanner(System.in);
            String select= sc.nextLine();
            switch (select) {
            case "1":
                logIn(map);
                break;
            case "2":
                System.out.println("您要注册为我们的会员吗?");
                System.out.println("1 开始注册");
                System.out.println("2 直接退出");
                String select_1= sc.nextLine();
                switch (select_1) {
                case "1":
                    signIn(map);
                    break;
                case "2":
                    System.out.println("退出成功");
                    System.exit(0);
                    break;
                }
                break;
            case "3":
                System.out.println("退出成功");
                System.exit(0);
                break;

            default:
                System.out.println("请输入正确指令!");
                break;
            }
        }
    }
    //注册方法,并在注册时判断用户名是否重复:
    public static void signIn(HashMap<String, PassWord> map) {
        Scanner sc= new Scanner(System.in);
        PassWord passWord= new PassWord();
        for (int i = 2; i >= 0; i--) {
            System.out.println("请输入您的新用户名:");
            String userName= sc.nextLine();
            if (map.containsKey(userName)) {
                if (i> 0) {
                    System.out.println("您输入的用户名已存在,请重新注册:");
                    System.out.println("您还有"+ i+"次注册机会");
                }
                if (i== 0) {
                    System.out.println("次数用尽,系统退出");
                    System.exit(0);
                }
            }else {
                System.out.println("请输入您的新密码:");
                String password= sc.nextLine();
                passWord.setPassword(password);
                map.put(userName, passWord);
                System.out.println("注册成功");
            }
            break;
        }
    }
    //登录方法,并在登陆时判断用户名以及密码是否正确:
    public static void logIn(HashMap<String, PassWord> map) {
        Scanner sc= new Scanner(System.in);
        for (int i = 2; i >= 0; i--) {
            System.out.println("请输入您的用户名:");
            String userName= sc.nextLine();
            if (map.containsKey(userName)) {
                System.out.println("请输入您的密码:");
                String passWord= sc.nextLine();
                if (map.get(userName).getPassword().equals(passWord)) {
                    System.out.println("登录成功,您现在可以看小视频啦!");
                    System.out.println("温馨提示:请注意身体健康!");
                }else {
                    if (i== 0) {
                        System.out.println("次数用尽,系统退出");
                        System.exit(0);
                    }
                    System.out.println("您输入的密码错误");
                    System.out.println("您要重新输入吗?");
                    System.out.println("键入1 退出系统");
                    System.out.println("键入2 重新输入");
                    Scanner sc_1= new Scanner(System.in);
                    String select_2= sc_1.nextLine();
                    switch (select_2) {
                    case "1":
                        System.out.println("退出成功");
                        System.exit(0);
                        break;
                    case "2":
                        if (i> 0) {
                            System.out.println("您还有"+ i+ "次输入次数");
                        }
                        continue;
                    default:
                        System.out.println("请输入正确指令!");
                        logIn_2(map,i);
                        continue;
                    }    
                }
                break;
            }else {
                if (i== 0) {
                    System.out.println("次数用尽,系统退出");
                    System.exit(0);
                }
                System.out.println("您输入的用户名不存在");
                System.out.println("您要重新输入吗?");
                System.out.println("键入1 退出系统");
                System.out.println("键入2 开始注册");
                System.out.println("键入3 重新输入");
                Scanner sc_1= new Scanner(System.in);
                String select_2= sc_1.nextLine();
                switch (select_2) {
                case "1":
                    System.out.println("退出成功");
                    System.exit(0);
                    break;
                case "2":
                    signIn(map);
                    break;
                case "3":
                    if (i> 0) {
                        System.out.println("您还有"+ i+ "次输入次数");
                    }
                    continue;
                default:
                    System.out.println("请输入正确指令!");
                    logIn_1(map,i);
                    break;
                }
                break;
            }
        }
    }
    //当用户登录时进入用户名不存在判定界面时,键入4、6、dfg等计划外指令时,进入default重新调用登录界面时,i初始化问题的解决办法:
    public static void logIn_1(HashMap<String, PassWord> map,int i) {
        System.out.println("键入1 退出系统");
        System.out.println("键入2 开始注册");
        System.out.println("键入3 重新输入");
        Scanner sc_1= new Scanner(System.in);
        String select_2= sc_1.nextLine();
        switch (select_2) {
        case "1":
            System.out.println("退出成功");
            System.exit(0);
            break;
        case "2":
            signIn(map);
            break;
        case "3":
            if (i> 0) {
                System.out.println("您还有"+ i+ "次输入次数");
            }
            break;
        default:
            System.out.println("请输入正确指令!");
            logIn_1(map,i);
            break;
        }
    }
    //当用户登录时进入密码不存在判定界面时,键入4、6、dfg等计划外指令时,进入default重新调用登录界面时,i初始化问题的解决办法:
    public static void logIn_2(HashMap<String, PassWord> map,int i) {
        System.out.println("键入1 退出系统");
        System.out.println("键入2 重新输入");
        Scanner sc_1= new Scanner(System.in);
        String select_2= sc_1.nextLine();
        switch (select_2) {
        case "1":
            System.out.println("退出成功");
            System.exit(0);
            break;
        case "2":
            if (i> 0) {
                System.out.println("您还有"+ i+ "次输入次数");
            }
            break;
        default:
            System.out.println("请输入正确指令!");
            logIn_2(map,i);
            break;
        }
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值