登录如何使用相同的代码为Java中的不同用户输入密码?
(注意:我不熟悉Java和编程,也不熟悉使用Netbeans)
我的任务是创建代码,它将首先要求输入用户名,然后要求输入密码。我的解决方案是为每个用户的密码输入提供一个单独的代码块。然而,这是非常漫长的。我用于输入密码的代码如下:
List<String> passwords = new ArrayList<>(); //array which is populated by user input
Scanner passwordinput = new Scanner(System.in);
do {
System.out.print("Create password? (y/n)"); //create password request
if (passwordinput.next().startsWith("y")) {
System.out.print("Create password (no spaces): ");
passwords.add(passwordinput.next());
} else {
break;
}
} while (true);
System.out.print("Enter password: "); //enter password request
String enterpass;
enterpass = passwordinput.next();
if (passwords.contains(enterpass)) {
System.out.println("wohoo you're in");
} else {
System.out.println("bad luck brudda");
}
总之,我询问用户是否想要创建密码,然后他们输入密码(输入字符串)。然后,他们被要求输入该密码以继续
有没有什么方法可以让我为每个用户使用相同的代码块,但不必每次都复制它
任何其他改进都是受欢迎的
# 1 楼答案
看看地图。在HashMap中,将一个值映射到一个固定键。因此,每个用户名(密钥)只能存在一次,但密码(值)可以始终相同
你需要一个HashMap。这个HashMap有一个字符串作为键,一个字符串作为值。密钥是你的用户名,密码是你的值。所以你这样做:
编辑:
下面是一个如何使用方法的示例。也许你那时更明白。希望你对例外情况有所了解。如果不是的话,你应该了解它们,因为它们对java来说是必不可少的