我刚刚了解了 hashmap,所以我想制作一个提供登录和注册服务的小应用程序。我在制作的时候卡住了,我没有完成登录方法。
成员.java -
public class Member {
private final String username;
private final String password;
private final String firstName;
private static final Map<String, String> loginMember = new HashMap<>();
public Member(String username, String password, String firstName) {
this.username = username;
this.password = password;
this.firstName = firstName;
}
public String getUsername() {
return this.username + "";
}
public String getPassword() {
return this.password + "";
}
public String getFirstName() {
return this.firstName + "";
}
public boolean isMemberExist(Member member){
if(loginMember.containsKey(member.getUserName()) && loginMember.containsValue(member.getPassword())){
return true;
} else {
System.out.println("No member in the list!");
}
return false;
}
public void register(Member member) {
if(isMemberExist(member)) {
System.out.println("This member is already exist!");
} else {
loginMember.put(member.getUsername(),member.getPassword());
}
}
public void login(Member member){
if(isMemberExist(member)) {
System.out.println("Hello " + member.getFirstName());
} else {
System.out.println("No member with username " +member.getUsername());
}
}
Main.java -
public class Main {
private static final Scanner sc = new Scanner(System.in);
private static Member member = new Member("blabla","blabla","bla");
public static void main(String[] args) {
boolean exitRequested = false;
while(!exitRequested) {
System.out.println("Press: " + "\n" +
"\r" + "1.Register" + "\n" +
"\r" + "2.Log in" + "\n" +
"\r" + "3.Exit.");
int choice = sc.nextInt();
switch (choice){
case 1:
register();
break;
case 2:
login();
break;
case 3:
exitRequested = true;
break;
default:
System.out.println("?");
break;
}
}
}
public static void register() {
System.out.println("What's your first name?");
String firstName = sc.next();
System.out.println("Please enter username");
String username = sc.next();
System.out.println("Please enter password");
String password = sc.next();
Member newMember = new Member(username,password,firstName);
member.register(newMember);
}
public static void login(){ // here I got stuck I seriously dont know how to continue...
System.out.println("Username:");
String username = sc.next();
System.out.println("Password:");
String password = sc.next();
}
如何修复此代码?