A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 坏坏坏男孩 中级黑马   /  2016-8-8 22:04  /  426 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.heima;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class 用户登陆 {
/*
* 用户登录,首先提示输入用户名,
* 然后把文档里面的用户名读到集合里面
* 如果存在就提示输入密码,否则就提示用户名不存在!
* 如果密码和用户名一致,就输出"欢迎回来"
* 否则提示请重新输入密码!
*/
        public static void main(String[] args) throws Exception {
                        int x =2;
                HashMap<String, String> ha =new HashMap<>();
                BufferedReader br1 =new BufferedReader(new FileReader("yyy.txt"));
                //把文件里面的数据读到集合里面
                String b;
                while ((b=br1.readLine())!=null) {
                                String[]arr1=b.split(",");
                                for (int i = 0; i < arr1.length; i++) {
                                        ha.put(arr1[0], arr1[1]);
                                }
                        }
                        br1.close();
                //提示输入用户名
                System.out.println("请输入用户名:");
                Scanner sc =new Scanner(System.in);
                while (true) {
                        String name1=sc.nextLine()        ;
                        //判断用户名是否存在!应该用迭代器看看键值对里面是否包含该键值,包含的话在比较数值,和买菜一样
                        //获得键值的集合
                        Set<String> set = ha.keySet();
                        //看键值集合是否包含该用户名
                        if (!set.contains(name1)) {
                                //如果不包含则提示错误
                                System.out.println("用户名不存在!请重新输入:");
                        }else {
                                        //如果包含就开始迭代
                                Iterator<String> it =set.iterator();
                                while(it.hasNext()){
                                        //迭代之后拿到该键值
                                        //String name2 =it.next();
                                        //根据键值找到键值对应的数值
                                        String passworld2 = ha.get(name1);
                                        //提示输入密码,
                                        System.out.println("请输入密码:");
                                        String passworld =sc.nextLine();
                                        if (passworld.equals(passworld2) ){
                                        System.out.println("验证通过.欢迎回来!");
                                                break;
                                        }else {
                                        //否则给三次输入机会,如果都不正确,则提示锁卡!
                                                System.out.println("密码不正确,请重新输入:");
                                                        while (true) {
                                                        String passworld1 =sc.nextLine();
                                                        if (passworld1.equals(ha.get(name1))) {
                                                                System.out.println("验证通过.欢迎回来!");
                                                                break;
                                                        }else {
                                                                if (x>1) {
                                                                        System.out.println("密码不正确,您还有"+--x+"次机会请重新输入:");
                                                                }else {
                                                                        System.out.println("卡已被锁!");
                                                                        break;
                                                                }
                                                       
                                                        }
                                                }
                                        }
                                        break;
                                }
                       
                                break;
                        }
                }
       
                               
        }

}

2 个回复

正序浏览
暂时还没学到,过来先看看,学习学习!
回复 使用道具 举报
自己的沙发自己抢!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马