명함관리 클래스를 완성하시오.
명함관리 프로그램에 사용할 클래스를 완성하시오.
(실행 출력결과는 오른쪽 부분을 참고하고, Card 클래스를 컬렉션 형태로 저장하는 방법은 [과제]폴더의 [4.CardBasic] 폴더에 있는 [UseArrayList.txt] 파일을 참고하여 아래 코드를 완성하시오.)
<<UseArrayList.txt 내용>>
ArrayList에 String을 저장할 때는 아래와 같은 방법으로 사용합니다.
List는 interface이고 ArrayList는 List를 구현한 클래스입니다.
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> strings = new ArrayList<String>();
strings.add("str01");
strings.add("str02");
for (String str : strings) {
System.out.println(str);
}
}
}
만약 ArrayList에 사용자가 만든 Person이라는 클래스를 저장하게 하려면 다음과 같이 해야합니다.
List<Person> people = new ArrayList<Person>();
문제예시)
public class Card {
private int number; // 인덱스 번호 (PK)
private String name; // 이름
private String phone; // 전화번호
private String 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 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() { [...] }
}
public class CardRepository {
[...] // 멤버변수
public void add([...]) { [...] } // 연락처 추가
public void remove([...]) { [...] } // 연락처 삭제
public void print() { [...] } // 저장된 연락처 모두 출력
}
public class Test {
public static void main(String[] args) {
CardRepository cardRepo = new CardRepository();
cardRepo.add(new Card(1, "홍반장", "012-123-1234", "hbj@test.com"));
cardRepo.add(new Card(2, "임꺼져", "012-234-2345", "igetout@test.com"));
cardRepo.print(); // ....................(1)
cardRepo.remove(2);
System.out.println("삭제 후...");
cardRepo.print(); // ....................(2)
}
}
출력결과)
(1) 부분 출력
1 홍반장 012-123-1234 hbj@test.com
2 임꺼져 012-234-2345 igetout@test.com
삭제 후…
(2) 부분 출력
1 홍반장 012-123-1234 hbj@test.com
Card.java
public class Card {
private int number;
private String name;
private String phone;
private String 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 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>();
public void add(Card inCard) { cardList.add(inCard); }
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(1, "홍반장", "012-123-1234", "hbj@test.com"));
cardRepo.add(new Card(2, "임꺼져", "012-234-2345", "igetout@test.com"));
cardRepo.print();
cardRepo.remove(2);
System.out.println("삭제 후...");
cardRepo.print();
}
}
결과값)
1 홍반장 012-123-1234 hbj@test.com
2 임꺼져 012-234-2345 igetout@test.com
삭제 후...
1 홍반장 012-123-1234 hbj@test.com
'개발이야기' 카테고리의 다른 글
아래 명함관리 프로그램에 사용자가 직접 입력하여 연락처를 추가, 삭제, 수정, 출력 할 수 있는 프로그램을 작성하시오. (0) | 2013.01.29 |
---|---|
이전 명함관리 프로그램을 이용하여 기능을 추가하시오. (0) | 2013.01.14 |
Tv, Radio, Light(전등)를 조작할 수 있는 만능리모콘을 만드시오. (0) | 2013.01.04 |
웹 해킹 서버 분석과 웹쉘 대응방법 (0) | 2012.12.26 |
ARP Commands (0) | 2012.12.26 |