이번 글에서는 저번에 했던 코드에서 회원가입 코드를 보완하겠습니다.

<메인 화면 코드>

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) // 로그인 선택시
           			{ 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.SRegistration;
import valueObject.VPersonalInfo;

public class PRegistration {	
	
	public void show(Scanner scanner) {
		
		System.out.println("개인정보를 입력하세요.");
		
		VPersonalInfo vPersonalInfo = new VPersonalInfo();
		System.out.print("아이디를 입력하세요.\r\nID:");
		VPersonalInfo.id = scanner.next();
		System.out.print("비밀번호를 입력하세요.\r\n비밀번호:");
		VPersonalInfo.password = scanner.next();
		System.out.print("이름을 입력하세요.\r\n이름:");
		VPersonalInfo.name = scanner.next();
		
        	// 입력한 개인정보 값을 서비스 클래스로 이동
		SRegistration sRegistration = new SRegistration();
		sRegistration.write(vPersonalInfo);
		
		System.out.println("개인정보가 입력되었습니다.");
	}
}

<회원가입 서비스 코드>

package service;

import model.MPersonalInfo;
import valueObject.VPersonalInfo;

	// 위 코드에서 입력받은 정보를 모델 클래스로 이동
	public class SRegistration {
	  public void write(VPersonalInfo vPersonalInfo) {
	    MPersonalInfo mPersonalInfo = new MPersonalInfo();
	    mPersonalInfo.write(vPersonalInfo);
	}
}

<회원가입 모델 코드>

package model;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
import valueObject.VPersonalInfo;

public class MPersonalInfo {

	// 서비스 클래스로부터 받아온 개인정보 값을 파일 형식으로 저장
	public void write(VPersonalInfo vPersonalInfo) {
	   try {
			File file = new File("temp");
			FileWriter fileWriter = new FileWriter(file,true);	
			PrintWriter printWriter = new PrintWriter(fileWriter);
			
			printWriter.println(vPersonalInfo.id);
			printWriter.println(vPersonalInfo.password);
			printWriter.println(vPersonalInfo.name);
			
			printWriter.close();
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

<VO(Value Object)>

package valueObject;

public class VPersonalInfo {
	
	public static String id;
	public static String password;
	public static String name;
}

이걸로 회원가입 시스템은 다 만들어봤습니다. 코드에 무언가 문제가 있으시다면 알려주시면 감사하겠습니다.

다음 주부터는 로그인 시스템을 만들어볼 계획입니다.

+ Recent posts