Java

[Java] 간단 회원가입 만들기

코복이 2023. 8. 11. 16:28
728x90

## 회원가입 매커니즘

1) System.out.print()로 필요한 정보를 유저에게 요청

e.g. ("ID 뭐로 할래?")

 

2) Scanner의 nextLine() 메소드로 유저에게 입력값을 받음

e.g. (코복이)

 

3) while 문과 참, 거짓 조건을 활용해 

다음 단계로 갈 지, 여기서 중단할 지, 처음으로 돌아갈 지, 일치하는 지 등 판단하여 진행

 

4) 유저가 입력한 정보를 HashMap 에 넣고 그 HashMap을 arrayList에 넣음

 

 

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;

public class UserRegister {

public static void main(String[] args) {
System.out.println("==================");
System.out.println("회원등록");
System.out.println("==================");

boolean register = false;
Scanner sc = new Scanner(System.in);

while(!register){
System.out.println("회원가입을 하시겠습니까?\nY:진행 N:취소");
System.out.print(">> ");
String registerInput = sc.nextLine();

if(registerInput.equalsIgnoreCase("y")){
register = true;
System.out.println("==================");
System.out.println("회원가입이 진행됩니다.");
System.out.println("==================");
}else if(registerInput.equalsIgnoreCase("n")){
System.out.println("==================");
System.out.println("회원가입을 종료합니다.");
System.out.println("==================");
System.exit(0); // 종료 코드 0
}else{
System.out.println("==================");
System.out.println("입력값을 확인해주세요");
System.out.println("==================");
}
}

ArrayList users = new ArrayList();

while(true){
HashMap user = new HashMap();

// ID
System.out.print("ID: ");
String username = sc.nextLine();

// PW
String password = "";

while(true){
System.out.println("PW: ");
password = sc.nextLine();
System.out.println("PW 확인: ");
String passwordConfirm = sc.nextLine();

if(password.equals(passwordConfirm)){
break;
}else{
System.out.println("==================");
System.out.println("패스워드를 확인해주세요");
System.out.println("==================");
}
}

System.out.print("성명: ");
String name = sc.nextLine();

// 생년월일
String birthDate = "";
while(true){
System.out.print(("생년월일 (6자리): "));
birthDate = sc.nextLine();
if(birthDate.length() == 6){
break;
}else{
System.out.println("==================");
System.out.println("생년월일을 확인해주세요");
System.out.println("==================");
}
}

//이메일
String email = "";

System.out.print("이메일을 입력해주세요: ");
email = sc.nextLine();

// 받은 입력값을 user 해시맵에 넣음
user.put("username", username);
user.put("password", password);
user.put("name", name);
user.put("birthDate", birthDate);
user.put("email", email);

// user 해시맵을 users라는 arrayList에 넣음
users.add(user);

System.out.println("==================");
System.out.println(user.get("name") + ", 가입을 환영합니다.");
System.out.println("ID " + user.get("username") + "입니다.");
System.out.println("==================");

System.out.println("회원가입을 계속 진행하시겠습니까?\nY:진행 N:취소");
System.out.print(">>");
String registerAgain = sc.nextLine();

if(registerAgain.equalsIgnoreCase("y")){
; // 다시 처음부터 가입 진행 (while 문이자나 ^^;)
} else if (registerAgain.equalsIgnoreCase("n")) {
System.out.println("==================");
System.out.println("회원가입을 종료합니다.");
System.out.println("==================");
System.exit(0); // exit 이나  break 나오기 전까진 무한 반복이다.
}
}
}
}

728x90