JAVA 1회용 회원가입 로그인 기능 구현

 데이터베이스 기능은 없어서 프로그램 종료되면 회원 정보 초기화됨




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

class Pad {
public static void main(String[] args) {
new Auth();
}

}

class Auth {
Scanner sc;
ArrayList<Idpw> users;
boolean isFirst = true;

Auth() {
init();
}

void init() {
if (isFirst) {
sc = new Scanner(System.in);
users = new ArrayList<Idpw>();
Idpw admin = new Idpw();
admin.setId("admin");
admin.setPw("admin");
users.add(admin);
}

System.out.println("1. 로그인\r\n" + "2. 회원가입");
String input = sc.next();
if (input.equals("1")) {
login();
} else if (input.equals("2")) {
signUp();
}
}

void login() {
System.out.println("ID를 입력하시오");

String id = sc.next();
String pw = new String();
boolean isId = false;

for (Idpw idpw : users) {
if (idpw.getId().equals(id)) {
isId = true;
System.out.println("비밀번호를 입력하시오");
pw = sc.next();
if (pw.equals(idpw.getPw())) {
menu();
break;
} else {
System.out.println("비밀번호가 틀렸습니다.");
isFirst = false;
init();
break;
}
}
if(!isId) {
System.out.println("등록되지 않은 ID입니다");
isFirst = false;
init();
}
}

void signUp() {
String id = new String();
String pw = new String();
Idpw newUser = new Idpw();
String confirm = new String();

System.out.println("ID를 입력하시오");
id = sc.next();

for (Idpw idpw : users) {
if (id.equals(idpw.getId())) {
System.out.println("이미 등록된 아이디입니다.");
signUp();
break;
}
}

System.out.println("ID : " + id);
newUser.setId(id);
System.out.println("비밀번호를 입력하시오");
pw = sc.next();
newUser.setPw(pw);
System.out.println("ID : " + id);
System.out.println("PW : " + pw);
System.out.println("회원가입하기: y/n");
confirm = sc.next();
if (confirm.equals("y")) {
users.add(newUser);
}
isFirst = false;
init();
}

void menu() {
System.out.println("로그인 성공");
}
}

class Idpw {
String id;
String pw;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getPw() {
return pw;
}

public void setPw(String pw) {
this.pw = pw;
}
}





댓글

이 블로그의 인기 게시물

substring 예제: 문자열을 입력 받아 한 글자씩 회전시켜 모두 출력하는 프로그램을 작성하라

단체 채팅 구현