## 회원가입 매커니즘
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 나오기 전까진 무한 반복이다.
}
}
}
}
'Java' 카테고리의 다른 글
[Java] 인터페이스 interface ? (0) | 2023.08.17 |
---|---|
[Java] 객체지향 [{클래스, 인스턴스}, {접근제어자,get,set}, {오버로딩, 오버라이딩}] (0) | 2023.08.17 |
[Java] 함수 기초 (0) | 2023.08.11 |
[Java] 배열 (0) | 2023.08.11 |
[Java] 반복문 for, while ,do while (0) | 2023.08.11 |