Header

  1. View current page

    knowledge님의 노트

Profile_img_60x60_01
1

AddressBookApp

AddressBookApp.java


import java.io.*;
import java.util.Scanner;

class AddressBookApp
{
 private CAddressBook addressbook;
 private Scanner scanner;

 AddressBookApp() {
  scanner = new Scanner(System.in);
  scanner.useDelimiter(System.getProperty("line.separator"));

  addressbook = new CAddressBook();
 }

 private void printMenu() {
  System.out.println("=================================");
  System.out.println(" 0. 주소록 파일 불러오기");
  System.out.println(" 1. 주소 추가하기");
  System.out.println(" 2. 주소록 파일 저장하기");
  System.out.println(" 3. 주소록 다른 파일에 저장하기");
  System.out.println(" 4. 종료하기");
  System.out.println("=================================");
 }

 private int getChoice() {
  System.out.print("메뉴의 번호를 입력하세요 : ");
  while(!scanner.hasNextInt()) scanner.next();
  return scanner.nextInt();
 }

 private String getFileName() {
  System.out.print("주소록 파일 이름을 입력하세요 : ");
  return scanner.next();
 }

 private String[] getAddress() {
  String r[] = new String[3];

  System.out.print("이    름 : ");
  r[0] = scanner.next();
  System.out.print("주    소 : ");
  r[1] = scanner.next();
  System.out.print("전화번호 : ");
  r[2] = scanner.next();

  return r;
 }

 private boolean doAction(int choice) {
  switch(choice) {
   case 0:
    try {
     addressbook.init(getFileName());
    } catch (IOException e) {
     e.printStackTrace();
     System.exit(0);
    }
    break;
   case 1:
    String[] r = getAddress();
    addressbook.add(r[0], r[1], r[2]);
    break;
   case 2:
    addressbook.save();
    break;
   case 3:
    addressbook.save(getFileName());
    break;
   case 4:
    return false;
   default:
    break;
  }
  return true;
 }

 public void run() {
  doAction(0);
  do
  {
   printMenu();
  }
  while(doAction(getChoice()));
 }
}

History

Last edited on 05/04/2007 11:44 by persona

Comments (0)

You must log in to leave a comment. Please sign in.