Java模拟用户登录

要求:

(1) 用户名和密码正确,提示登录成功。

(2) 用户名或密码不正确,提示“用户名或密码错误”。

(3) 总共有 3 次登录机会,在 3 次内(不包含第一次)输入正确的用户名和密码回到(1)。如若,超过 3 次输入的用户名或密码有误,则提示登录失败无法再继续登录。。。 在登录时,需要比较用户输入的用户名密码与已知的用户名密码是否相同,本案例可以使用 Scanner 类以及 String 类的相关方法实现比较操作。

一、代码

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

public class Test1 {
	public static void main(String[] args) {
		HashMap<String, String> map = new HashMap<>();
		Scanner sc = new Scanner(System.in);
		// 加入初始用户
		map.put("1", "q123");
		map.put("2", "q1234");
		map.put("3", "q123");
		//
		String userName;	// 用于输入的用户名
		String userPassword; 	// 用于输入的密码
		int begin = 3;	// 控制输入次数
		boolean flag = true;	// 控制循环
		while(flag) {
			// 输入用户名和密码
			if(begin > 0 && begin <= 3) {
				System.out.print("请输入用户名: ");
				userName = sc.next();
				System.out.print("请输入密码: ");
				userPassword = sc.next();
			}else {
				System.out.println("登录失败无法再继续登录。。。");
				return;
			}
			// 
			int a = 0;  // a 变量与 b 变量都 == 1时表示用户名和密码都存在。
			int b = 0;
			int c = 1; // c==1时表示用户名不存在
			// // 遍历用户或密码是否正确
			Set<String> keySet = map.keySet();
			for (String item : keySet) {
				if (item.equals(userName)) {
					a = 1;
					c = 0; // c==0时,表示用户名存在
					String pws = map.get(item);
					if (userPassword.equals(pws)) {
						b = 1;
						System.out.println("登录成功!");
						flag = false;
					} 
				}
			}
			// 
			if(a != b || c == 1) {
				System.out.println("用户名或密码错误!!!");
				begin--;
			}
		}
	}

}

二、运行结果

 

 


如有帮助,点赞加关注!!!

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你解决这些问题。以下是对你的问题的回答: 1. Java模拟用户登录Java可以通过使用JSP、Servlet、Spring Security等技术来模拟用户登录。首先需要创建一个用户表,存储用户用户名和密码。当用户输入用户名和密码时,Java应用程序将检查用户提供的用户名和密码是否与用户表中的记录匹配。如果匹配,则将用户重定向到他们的个人资料页面或主页。 2. 添加用户: 要添加用户,需要创建一个表来存储用户数据。然后,创建一个表单页面,用户可以在该页面中输入他们的详细信息(如用户名、密码、电子邮件地址等)。将表单数据提交到Java应用程序,该应用程序将在用户表中插入新记录。 3. 查找用户: 要查找用户,需要创建一个查询页面,用户可以在该页面中输入他们要查找的用户用户名。将表单数据提交到Java应用程序,该应用程序将查询用户表以获取与用户提供的用户名匹配的记录。然后,将结果返回给用户。 4. 修改用户: 要修改用户,需要创建一个表单页面,用户可以在该页面中输入他们要修改的用户的详细信息(如用户名、密码、电子邮件地址等)。将表单数据提交到Java应用程序,该应用程序将更新用户表中与提供的用户名匹配的记录。 希望这些回答对你有所帮助。如果你还有其他问题,可以随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值