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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© _J2EE_LiXiZhen 中级黑马   /  2017-11-19 22:56  /  826 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

模拟用户登录和注册功能实现。
接收用户输入的用户名和密码,然后和文件中存储的用户名、密码匹配。
如果文件已经存在用户名并且密码也是正确的,提示登录成功,否则提示登录失败。
如果文件中不存在该用户名,则使用该用户名和密码注册一个新的账号,并提示注册成功。

[Java] 纯文本查看 复制代码
public class Test01 {
	public static void main(String[] args) throws IOException {
		jieMian();
	}

	// 主界面
	public static void jieMian() throws IOException {
		Scanner sc = new Scanner(System.in);
		while (true) {
			System.out.println("请输入操作指令:1.登录    2.注册    3.退出");
			String order = sc.nextLine();
			int temp;
			try {
				temp = Integer.parseInt(order);
			} catch (RuntimeException e) {
				System.out.println("操作有误,请重新输入");
				continue;
			}
			//登录方法
			if(temp == 1) {
				dengLu(getMessage());
			}
			//注册方法
			else if(temp==2) {
				login(getMessage());
			}
			//退出
			else if(temp==3)
				break;
			else 
				System.out.println("操作有误,请重新输入");
		}
	}
	
	//登录方法
	public static void dengLu(HashMap<String,String> map) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入用户名:");
		String userName = sc.next();
		System.out.println("请输入密码:");
		String passWord = sc.next();
		//判断是否存在该用户
		if(map.containsKey(userName)) {
			//判断密码是否正确
			if(passWord.equals(map.get(userName))) {
				System.out.println("登录成功");
			}else {
				System.out.println("密码错误");
			}
		}else {
			System.out.println("该用户不存在");
		}
	}
	
	//注册方法
	public static void login(HashMap<String,String> map) throws IOException {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入用户名:");
		String userName = sc.next();
		System.out.println("请输入密码:");
		String passWord = sc.next();
		//判断是否存在该用户
		if(map.containsKey(userName)) {
			System.out.println("该用户已经存在");
		}else {
			BufferedWriter bw = new BufferedWriter(new FileWriter("user.txt", true));
			StringBuilder builder = new StringBuilder();
			builder.append(userName).append("-").append(passWord);
			bw.write(builder.toString());
			bw.newLine();
			bw.close();
			System.out.println("注册成功");
		}
	}
	
	//获取用户信息集合方法
	public static HashMap<String,String> getMessage() throws IOException {
		HashMap<String,String> map = new HashMap<String,String>();
		BufferedReader br = new BufferedReader(new FileReader("user.txt"));
		String line;
		while((line = br.readLine())!=null) {
			String[] arr = line.split("-");
			map.put(arr[0], arr[1]);
		}
		br.close();
		return map;
	}
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马