명함관리 프로그램에 사용자가 직접 입력하여 연락처를 추가, 삭제, 수정, 출력을 할 수 있는 프로그램을 작성하시오.
(실행 출력결과는 아래 부분을 참고하여 모든 코드를 완성하시오.)
실행결과)
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : i
>>> 추가
이름 : shlee
연락처 : 010-3446-6924
이메일 : shlee@icross.co.kr
추가되었습니다.
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : o
>>> 출력
1 shlee 010-3446-6924 shlee@icross.co.kr
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : e
>>> 수정
수정할 번호 입력 : 1
이름 : shlee2
연락처 : 010-123-1234
이메일 : shlee@infocross.co.kr
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : o
>>> 출력
1 shlee2 010-123-1234 shlee@infocross.co.kr
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : d
>>> 삭제
삭제할 번호 입력 : 1
삭제되었습니다.
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : q
프로그램 종료
Card.java
import java.util.*;
public class Card {
private int number;
private String name;
private String phone;
private String email;
public Card(String name, String phone, String email) {
this.number = -1; this.name = name; this.phone = phone; this.email = email;
}
public Card(int number, String name, String phone, String email) {
this.number = number; this.name = name; this.phone = phone; this.email = email;
}
public int getNumber() { return number; }
public void setNumber(int number) { this.number = number; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getPhone() { return phone; }
public void setPhone(String phone) { this.phone = phone; }
public String getEmail() { return email; }
public void setEmail(String email) { this.email = email; }
public void print() {
System.out.println(this.number+"\t"+this.name+"\t"+this.phone+"\t"+this.email);
}
}
CardRepository.java
import java.util.*;
public class CardRepository {
private List<Card> cardList = new ArrayList<Card>();
private int maxNumber = 1;
public int getMaxNumber() {
return maxNumber;
}
public void add(Card inCard) {
if(inCard.getNumber() != maxNumber) {
inCard.setNumber(maxNumber);
cardList.add(inCard);
maxNumber++;
}
}
public boolean edit(Card inCard) {
boolean check = false;
for (Card cardTemp : cardList) {
if(cardTemp.getNumber() == inCard.getNumber()) {
cardTemp.setName(inCard.getName());
cardTemp.setPhone(inCard.getPhone());
cardTemp.setEmail(inCard.getEmail());
check = true;
break;
}
}
return check;
}
public boolean remove(int number) {
boolean check = false;
for (Card cardTemp : cardList) {
if(cardTemp.getNumber() == number) {
cardList.remove(cardTemp);
check = true;
break;
}
}
return check;
}
public void print() {
for (Card cardTemp : cardList) {
cardTemp.print();
}
}
}
CardManager.java
import java.util.*;
public class CardManager {
private CardRepository cardRep = new CardRepository();
public void start() {
menuPrint();
}
public void menuPrint() {
String menu;
System.out.println("****************************************");
System.out.println("* 연락처 콘솔 프로그램 *");
System.out.println("****************************************");
System.out.println("* I. 추가 *");
System.out.println("* D. 삭제 *");
System.out.println("* E. 수정 *");
System.out.println("* O. 출력 *");
System.out.println("* *");
System.out.println("* Q. 종료 *");
System.out.println("****************************************");
menu = getInput("실행할 명령을 입력 : ");
menu = menu.toLowerCase();
if (menu.equals("i")) {
add();
} else if (menu.equals("e")) {
edit();
} else if (menu.equals("d")) {
delete();
} else if (menu.equals("o")) {
print();
} else if (menu.equals("q")) {
quit();
return;
}
menuPrint();
}
public void add() {
System.out.println(">>> 추가");
cardRep.add(input(-1));
System.out.println("추가되었습니다.");
}
public void edit() {
int number=0;
String temp;
System.out.println(">>> 수정");
temp = getInput("수정할 번호 입력 : ");
try {
number = Integer.parseInt(temp);
} catch (Exception e) {
System.out.println("수정할 번호를 정수로 입력을 해주세요!");
return;
}
if(!cardRep.edit(input(number))) {
System.out.println("수정되었습니다.");
} else {
System.out.println("잘못된 수정할 번호를 입력을 하였습니다!");
}
}
public void delete() {
int number=-1;
String temp;
System.out.println(">>> 삭제");
temp = getInput("삭제할 번호 입력 : ");
try {
number = Integer.parseInt(temp);
} catch (Exception e) {
System.out.println("삭제할 번호를 정수로 입력을 해주세요!");
return;
}
if(cardRep.remove(number)) {
System.out.println("삭제되었습니다.");
} else {
System.out.println("잘못된 삭제할 번호를 입력을 하였습니다!");
}
}
public Card input(int number) {
Card card;
String name, tel, email;
name = getInput("이름");
tel = getInput("연락처");
email = getInput("이메일");
if(number == -1) card = new Card(name, tel, email);
else card = new Card(number, name, tel, email);
return card;
}
public String getInput(String inMsg) {
Scanner sc = new Scanner(System.in);
String getVar;
System.out.print(inMsg+" : ");
getVar = sc.nextLine();
return getVar;
}
public void print() {
System.out.println(">>> 출력");
cardRep.print();
}
public void quit() {
System.out.println(">>> 종료");
}
}
Test.java
public class Test {
public static void main(String[] args) {
CardManager cardMgr = new CardManager();
cardMgr.start();
}
}
결과 화면)
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : i
>>> 추가
이름 : 안녕하세요
연락처 : 어디세요
이메일 : 누구간
추가되었습니다.
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : ㅐ
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : o
>>> 출력
1 안녕하세요 어디세요 누구간
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : e
>>> 수정
수정할 번호 입력 : : 1
이름 : dkssu
연락처 : jkldjfls
이메일 : fjksldf
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : o
>>> 출력
1 dkssu jkldjfls fjksldf
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : d
>>> 삭제
수정할 번호 입력 : : 4
잘못된 삭제할 번호를 입력을 하였습니다!
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : o
>>> 출력
1 dkssu jkldjfls fjksldf
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : d
>>> 삭제
수정할 번호 입력 : : 1
삭제되었습니다.
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : o
>>> 출력
****************************************
* 연락처 콘솔 프로그램 *
****************************************
* I. 추가 *
* D. 삭제 *
* E. 수정 *
* O. 출력 *
* *
* Q. 종료 *
****************************************
실행할 명령을 입력 : q
>>> 종료
'개발이야기' 카테고리의 다른 글
CKEditor 이미지 업로드 창 커스트 마이징 (0) | 2013.08.20 |
---|---|
아래 명함관리 프로그램에 사용자가 직접 입력하여 연락처를 추가, 삭제, 수정, 출력 할 수 있는 프로그램을 작성하시오. - 파일로딩 및 저장 기능 추가 (0) | 2013.03.07 |
이전 명함관리 프로그램을 이용하여 기능을 추가하시오. (0) | 2013.01.14 |
명함관리 클래스를 완성하시오. (0) | 2013.01.04 |
Tv, Radio, Light(전등)를 조작할 수 있는 만능리모콘을 만드시오. (0) | 2013.01.04 |