要求:
(1) 用户名和密码正确,提示登录成功。
(2) 用户名或密码不正确,提示“用户名或密码错误”。
(3) 总共有 3 次登录机会,在 3 次内(不包含第一次)输入正确的用户名和密码回到(1)。如若,超过 3 次输入的用户名或密码有误,则提示登录失败无法再继续登录。。。 在登录时,需要比较用户输入的用户名密码与已知的用户名密码是否相同,本案例可以使用 Scanner 类以及 String 类的相关方法实现比较操作。
一、代码
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;
public class Test {
public static void main(String[] args) {
HashMap 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;
int b = 0;
// // 遍历用户或密码是否正确
Set keySet = map.keySet();
for (String item : keySet) {
if (item.equals(userName)) {
a = 1;
String pws = map.get(item);
if (userPassword.equals(pws)) {
b = 1;
System.out.println("登录成功!");
flag = false;
}
}
}
//
if(a != b) {
System.out.println("用户名或密码错误!!!");
begin--;
}
}
}
}
二、运行结果
如有帮助,点赞加关注!!!



