프로그래밍 언어/java
수강신청 프로그램 제작 -(2)
Haneum_02
2021. 1. 3. 18:03
이번 글에서는 저번에 했던 코드에서 회원가입 코드를 보완하겠습니다.
<메인 화면 코드>
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;
}
이걸로 회원가입 시스템은 다 만들어봤습니다. 코드에 무언가 문제가 있으시다면 알려주시면 감사하겠습니다.
다음 주부터는 로그인 시스템을 만들어볼 계획입니다.