오늘 2단계, 3단계의 전화번호 관리 프로그램을 업그레이드 시켰다. !!
:)
먼저
2단계 업그레이드 조건은
오늘 공부한 콘솔입력을 통해
사용자로부터 데이터를 입력받아 전화번호 관리 데이터들을 만드는 것이다.
먼저 main 메소드를 중심으로 내용들을 설계해 보았고
필요한 메소드가 무엇인지 체크하면서 시작했다.
흐름은
크게 while(true)으로 진행 할 것이다.
사용자가 종료하기 전까지 반복문으로 돌릴 생각이다.
while 안에서
1. 메뉴출력을 한다.
2. 선택을 입력 받는다.
3. 입력에 따라 모드를 바꾼다. (switch 이용)
-> 즉 switch이용할 것이므로 flag용으로 선택변수가 필요하다. 나는 int sel로 설정하였다.
그러면 sel에 입력받을것이다.
필요 메소드
-> 메뉴 출력, 데이터 입력.
(전화번호 정보 클래스는 1단계에서 만든 것을 사용할 것이다.)
메뉴 출력 메소드는 println으로 작성했다.
데이터 입력 메소드는 각각의 정보입력에 따라 문자열을 생성하여 그 곳으로 집어 넣고
이 정보들로 전화번호 정보 클래스로 인스턴스를 만든다.
(작성코드.)
윗부분에는 전에 작성했던 전화번호 정보 클래스가 있다.
실행 결과
(결과)
여기에 조금 추가한것은..
왠지 생년월일 입력해주세요에 강요가 묻어나는 것 같았다.
몰라도 입력이 가능하게 만들어 놨으니
생년월일을 안써도 된다는 문구만 더 추가했다.
(추가 수정 코드)
(만족 스러운 2단계 업그레이드 버전)
모를때 그냥 엔터로 입력을 넘겨도 정보가 저장되는 것을 확인 할 수 있다.
2단계까지 업그레이드를 성공시켰다.
작성 풀 코드
---------------------------------------------------------------------------------------------
// 단계별 프로젝트 02
// 전화번호 관리 프로그램
import java.util.Scanner;
class PhoneInfo
{
String name;
String phoneNum;
String birth;
public PhoneInfo(String name, String phoneNum, String birth)
{
this.name = name;
this.phoneNum = phoneNum;
this.birth = birth;
}
public PhoneInfo(String name, String phoneNum)
{
this(name, phoneNum, null);
}
public void showPhoneInfo()
{
System.out.println("name : " + name);
System.out.println("phone : " + phoneNum);
if(birth == null)
System.out.println("birthday :");
else
System.out.println("birthday : " + birth);
}
}
class PhoneManage2
{
static Scanner keyboard = new Scanner(System.in);
public static void showMenu()
{
System.out.println("\n"); // 공백 띄우기.
System.out.println("메뉴를 선택하세요.");
System.out.println("1. 전화번호추가하기");
System.out.println("2. 사용종료.");
}
public static void inputData()
{
System.out.print("이름을 입력해주세요 :"); // 개행하지 않기위해 그냥 print 메소드를 사용함.
String name = keyboard.nextLine(); // 입력을 엔터로 종료하기 위해.
System.out.print("전화번호를 입력해주세요 :");
String phoneNum = keyboard.nextLine();
System.out.print("생년월일을 입력해주세요(모른다면 그냥 넘어가도 좋습니다.) : ");
String birth = keyboard.nextLine();
PhoneInfo newInfo = new PhoneInfo(name, phoneNum, birth);
System.out.println("\n\n입력된 정보를 확인해 주세요.");
newInfo.showPhoneInfo();
}
public static void main(String[] args)
{
int sel; // 선택 변수
while(true) // 사용자의 종료 입력전까지 반복.
{
showMenu();
sel = keyboard.nextInt();
keyboard.nextLine(); // 남아있는 Enter입력 버리기.
switch(sel)
{
case 1 :
inputData();
break;
case 2 :
System.out.println("시스템 종료");
return; // 반복문 나가기
}
}
}
}
-----------------------------------------------------------------------------------------------
(* 참조 - 난 정말 JAVA를 공부한 적이 없다구요, 윤성우)
'Programing > JAVA 일지' 카테고리의 다른 글
JAVA(8일차) - 클래스의 상속(1) (0) | 2016.12.09 |
---|---|
JAVA(7일차) - (3) 전화번호 관리 프로그램3 (0) | 2016.12.08 |
JAVA(7일차) - (1) 콘솔 입력, 출력, 배열 (0) | 2016.12.08 |
JAVA(6일차) - (2) 전화번호 관리 프로그램1 (0) | 2016.12.08 |
JAVA(6일차) - (1) 접근제어, 클래스변수, 클래스 메소드, 메소드 오버로딩, String 클래스 (0) | 2016.12.07 |