이전 명함관리 프로그램을 수정하여 아래 기능을 추가하시오.
1. 명함 추가 시 자동으로 번호가 관리되게 기능을 추가
2. 명함을 수정할 수 있도록 기능 추가
(실행 출력결과는 오른쪽 부분을 참고하고 코드를 완성하시오.)
public class Test {
public static void main(String[] args) {
CardRepository cardRepo = new CardRepository();
cardRepo.add(new Card([...], "홍반장", "012-123-1234", "hbj@test.com"));
cardRepo.add(new Card([...], "임꺼져", "012-234-2345", "igetout@test.com"));
cardRepo.print(); // ....................(1)
cardRepo.remove(1);
System.out.println("1번 삭제 후...")
cardRepo.print(); // ....................(2)
cardRepo.edit(new Card(2, "임꺽정", "012-345-3456", "igj@test.com"));
System.out.println("2번 수정 후...")
cardRepo.print(); // ....................(3)
}
}
출력 화면)
(1) 부분 출력
1 홍반장 012-123-1234 hbj@test.com
2 임꺼져 012-234-2345 igetout@test.com
1번 삭제 후…
(2) 부분 출력
2 임꺼져 012-234-2345 igetout@test.com
2번 수정 후...
(3) 부분 출력
2 임꺽정 012-345-3456 igj@test.com
Card.java
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.ArrayList;
import java.util.List;
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 void edit(Card inCard) {
for (Card cardTemp : cardList) {
if(cardTemp.getNumber() == inCard.getNumber()) {
cardTemp.setName(inCard.getName());
cardTemp.setPhone(inCard.getPhone());
cardTemp.setEmail(inCard.getEmail());
break;
}
}
}
public void remove(int number) {
for (Card cardTemp : cardList) {
if(cardTemp.getNumber() == number) {
cardList.remove(cardTemp);
break;
}
}
}
public void print() {
for (Card cardTemp : cardList) {
cardTemp.print();
}
}
}
Test.java
public class Test {
public static void main(String[] args) {
CardRepository cardRepo = new CardRepository();
cardRepo.add(new Card("홍반장", "012-123-1234", "hbj@test.com"));
cardRepo.add(new Card("임꺼져", "012-234-2345", "igetout@test.com"));
cardRepo.print();
cardRepo.remove(1);
System.out.println("1번 삭제 후...");
cardRepo.print();
cardRepo.edit(new Card(2, "임꺽정", "012-345-3456", "igj@test.com"));
System.out.println("2번 수정 후...");
cardRepo.print();
}
}
결과출력]
1 홍반장 012-123-1234 hbj@test.com
2 임꺼져 012-234-2345 igetout@test.com
1번 삭제 후...
2 임꺼져 012-234-2345 igetout@test.com
2번 수정 후...
2 임꺽정 012-345-3456 igj@test.com
'개발이야기' 카테고리의 다른 글
아래 명함관리 프로그램에 사용자가 직접 입력하여 연락처를 추가, 삭제, 수정, 출력 할 수 있는 프로그램을 작성하시오. - 파일로딩 및 저장 기능 추가 (0) | 2013.03.07 |
---|---|
아래 명함관리 프로그램에 사용자가 직접 입력하여 연락처를 추가, 삭제, 수정, 출력 할 수 있는 프로그램을 작성하시오. (0) | 2013.01.29 |
명함관리 클래스를 완성하시오. (0) | 2013.01.04 |
Tv, Radio, Light(전등)를 조작할 수 있는 만능리모콘을 만드시오. (0) | 2013.01.04 |
웹 해킹 서버 분석과 웹쉘 대응방법 (0) | 2012.12.26 |