자바/자바 객체지향 연습 예제
1. 로그인, 회원가입 클래스 만들기
초보개발자뀨
2021. 3. 12. 11:46
Login.class
package user;
import main.Main;
public class Login {
public static void login() {
int cnt = 0;
System.out.println("========= 로그인 창입니다.==========");
while(true){
String id= Main.input("아이디를 입력해주세요. : ");
String password =Main.input("비밀번호를 입력해주세요.: ");
if(!UserDateSet.userList.containsKey(id)) //널값 미 체크시 널 포인트 오류가 뜬다.
System.out.println("존재하지 않는 아이디입니다");
else {
if(UserDateSet.userList.get(id).getPassword().equals(password)) {
System.out.println("로그인에 성공하였습니다.");
break;
}
else {
System.out.println("로그인에 실패하였습니다 다시한번 입력해주세요");
cnt++;
}
if(cnt ==3) {//카운터 값을 줘 3번 실패시 회원가입 창으로 넘어가게 했다.
System.out.println("로그인에 3번 실패하였습니다. 회원가입창으로 넘어갑니다");
Register.register();
}
}
}
}
}
```
Register.class
package user;
import main.Main;
public class Register {
public static void register() {
System.out.println("========= 회원가입 창입니다.==========");
while(true) {
String id = Main.input("아이디를 입력해주세요. : ");
if(UserDateSet.userList.containsKey(id)) {// id를 해쉬 값으로 넣어 중복 체크를 할 수 있도록 했다.
System.out.println("이미 사용 중인 아이디 입니다. ");
continue;
}
else {
String password = Main.input("비밀번호를 입력해주세요. : ");
System.out.println("회원가입에 성공하셨습니다");
UserDateSet.userList.put(id,new UserVO(id,password));
break;
}
}
}
}
UserVO.class
package user;
public class UserVO { // 우선 간단하게 id password만 담도록 했다.
private String id;
private String password;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public UserVO(String id, String password) {
super();
this.id = id;
this.password = password;
}
}
UserDateSet.class
package user;
import java.util.*;
public class UserDateSet {
public static HashMap<String,UserVO> userList = new HashMap<>();
//키 값은 id로 해 중복 체크도 가능케 했다.
public static void userListSet() {
userList.put("1", new UserVO("1","1"));
userList.put("2", new UserVO("2","2"));
userList.put("3", new UserVO("3","3"));
}
}