반응형
회원가입 프로그램
콘솔화면에서 사용되는 회원가입 프로그램을 만들어 보았습니다.
기능
- 로그인
- 회원가입
- 전체 회원 출력
- ID중복체크
- 비밀번호와 비밀 번화 확인 동일 체크
위의 5가지 기능이 들어간 회원 가입 프로그램을 만들었습니다. 기본적인 컬렉션을 ArrayList를 사용하였습니다.
실행결과
반응형
Program.java
public class Program {
public static void main(String[] args) {
MemberJoinDAO memberJoinDAO = new MemberJoinDAO();
memberJoinDAO.run();
}
}
프로그램을 실행시키는 main 메서드가 있는 클래스입니다.
MemberJoinDAO.java
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
import com.douzone.day09.MemberJoin.HashMap.MemberDTO;
public class MemberJoinDAO {
Scanner sc = new Scanner(System.in);
List<MemberDTO> members = new ArrayList<>();
public MemberJoinDAO() {
members.add(new MemberDTO("Superman", "1234", "New York"));
members.add(new MemberDTO("Batman", "1234", "Boston"));
members.add(new MemberDTO("Pororo", "1234", "Seoul"));
}
public void run() {
int key = 0;
while ((key = menu()) != 0) {
switch (key) {
case 1:
Login();
break;
case 2:
MemberJoin();
break;
case 3:
SelectMember();
}
}
}
private void SelectMember() {
Iterator<MemberDTO> ite = members.iterator();
while(ite.hasNext()) {
System.out.println(ite.next() + " ");
}
}
private void MemberJoin() {
sc.nextLine();
String id = getStrInput(" ID : ");
String pw = getStrInput(" PassWord : ");
String pw2 = getStrInput("Password Confirm : ");
String name = getStrInput(" Name : ");
if(idCheck(id)) {
System.out.println("중복된 ID입니다.");
}else if(pw.equals(pw2)) {
members.add(new MemberDTO(id, pw, name));
System.out.println(id + "님 가입을 축하드립니다.");
}else {
System.out.println("비밀번호를 확인해주세요.");
}
}
private boolean idCheck(String id) {
boolean check = true;
MemberDTO member = FindById(id);
if(member == null)
check = false;
return check;
}
private void Login() {
sc.nextLine();
String id = getStrInput(" ID : ");
String pw = getStrInput("PassWord : ");
MemberDTO member = FindById(id);
if(member == null){
System.out.println("등록되지 않은 ID입니다.");
}else if(member.getPW().equals(pw)) {
System.out.println("[" + member.getID() + "]님께서 로그인 하셨습니다.");
}else {
System.out.println("비밀번호가 틀렸습니다.");
}
}
private MemberDTO FindById(String id) {
for(MemberDTO memberDTO : members) {
if(memberDTO.getID().equals(id)) {
return memberDTO;
}
}
return null;
}
private String getStrInput(String msg) {
System.out.println(msg);
return sc.nextLine();
}
private int menu() {
System.out.println("Welcome YouTube");
return getNumInput("[1]로그인 [2]회원가입 [3]전체 회원 보기 [0]종료");
}
private int getNumInput(String msg) {
System.out.println(msg);
return sc.nextInt();
}
}
사실 DAO는 데이터베이스와 접근을 이용하여야 하는 객체지만 이번 프로그램에서는 데이터베이스를 사용하지 않고
ArrayList만을 이용하여 프로그램을 만들어 보았습니다.
MemberDTO.java
public class MemberDTO {
private String ID;
private String PW;
private String Name;
public MemberDTO(String iD, String pW, String name) {
ID = iD;
PW = pW;
Name = name;
}
public String getID() {
return ID;
}
public String getPW() {
return PW;
}
public String getName() {
return Name;
}
public void setID(String iD) {
ID = iD;
}
public void setPW(String pW) {
PW = pW;
}
public void setName(String name) {
Name = name;
}
@Override
public String toString() {
return "ID : " + ID + " PW : " + PW + " Name : " + Name;
}
}
회원가입에 필요한 DTO입니다.
728x90
반응형