자바/자바 객체지향 연습 예제

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"));
		
	}


}