프로그래밍 언어/java

수강신청 프로그램 제작 - (3)

Haneum_02 2021. 1. 13. 19:13

이번 글에서는 로그인 코드를 만들어보겠습니다.

<메인 화면 코드>

package presentation;

import java.util.Scanner;
import valueObject.VPersonalInfo;

public class PMain {

	public PMain() {
	}
	
	public void show() {
		Scanner scanner = new Scanner(System.in);
		
		System.out.println("수강신청 시스템입니다.");
		System.out.println("수강신청을 하려면 로그인 하세요.");
		System.out.println("회원가입이 안되신 분들은 회원가입 하세요.");
		System.out.println("다음 메뉴를 선택 하세요.");
		
		boolean finished = false; 
		while (!finished) {
			System.out.println("1:로그인, 2:회원가입, 3:나가기");
			System.out.println("선택 : ");
		
			int menuSelection = scanner.nextInt();
			if(menuSelection == 1) // 로그인 선택시
          	 	{ PLogin pLogin = new PLogin();
				VPersonalInfo vPersonalInfo = pLogin.show(scanner);
				if (vPersonalInfo == null) // 로그인 실패시
                		{ System.out.println("ID 또는 비밀번호가 일치하지 않습니다.");}
                		else // 로그인 성공시
                       		{ System.out.println(VPersonalInfo.name +"님 반갑습니다.");
				finished = true;}
            		else if (menuSelection == 2) // 회원가입 선택시
         			{ PRegistration pRegistration = new PRegistration();
			  	 pRegistration.show(scanner);}
           		else if (menuSelection == 3) // 나가기 선택시
          			{ finished = true;}
            		else // 1,2,3이 아닌 다른 수를 선택할 시
        			{ System.out.println("잘못 입력 하셨습니다.");
	}}
		scanner.close();
}}

<로그인 화면 코드>

package presentation;

import java.util.Scanner;
import service.SLogin;
import valueObject.VLogin;
import valueObject.VPersonalInfo;

public class PLogin {
	
	public PLogin() {}
	
	public VPersonalInfo show(Scanner scanner) {
		
		boolean loggedIn = false;
		System.out.println("로그인을 해주세요.");
		
		VLogin vLogin = new VLogin();
		System.out.print("아이디를 입력해주세요.\r\n:");
		vLogin.id = scanner.next();
		System.out.print("비밀번호를 입력해주세요.\r\n:");
		vLogin.password = scanner.next();
		
		SLogin sLogin = new SLogin();
		VPersonalInfo vPersonalInfo = sLogin.validate(vLogin);
		
		return vPersonalInfo;
	}
}

<로그인 서비스 코드>

package service;
import model.MPersonalInfo;
import valueObject.VLogin;
import valueObject.VPersonalInfo;

public class SLogin {
	
	public VPersonalInfo validate(VLogin vLogin) // 저장되어 있는 회원정보 불러오기
    	{ MPersonalInfo mPersonalInfo = new MPersonalInfo();
	  VPersonalInfo vPersonalInfo = mPersonalInfo.read(VLogin.id);
		
	if(vPersonalInfo == null) // 저장되어 있는 회원정보가 없을 시
   	{ return vPersonalInfo;}
    	else // 저장되어 있는 회원정보가 있을 시
        { if(VLogin.password.equals(VPersonalInfo.password)) // 저장되어 있는 회원정보와 입력한 값이 같을 때
        { return vPersonalInfo;}
        else // 저장되어 있는 회원정보와 입력한 값이 다를 때
        { return null;}
	}
}}

<VO(Value Object)>

package valueObject;

public class VLogin {

	public static String id;
	public static String password;
	
}

이걸로 로그인 코드는 다 만들었습니다. 다음부터는 수강신청 창을 만들어 보겠습니다.