package ch03_setQuiz;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
import ch02_set.Person;
/*
* Person class 객체를 Set collection 으로 관리하는 PersonManager class 를 구현하세요
* - 구현 방식은 ch01_list 팩키지의 MemberManager class 와 동일합니다
*/
public class PersonManager {
private Scanner scanner = new Scanner(System.in);
private Set<Person> set = new HashSet<>();
public PersonManager() {}
// 메뉴
public void menu() {
while(true) {
System.out.print("1.추가 2.삭제 3.목록 >> ");
int select = scanner.nextInt();
switch(select) {
case 1: // 추가
insert(); break;
case 2: // 삭제
delete(); break;
case 3: // 목록
list(); break;
case 0: // 종료
end();
default:
System.out.println("선택 오류~");
}
System.out.println();
}
} // menu()
// 전화번호 추가
public void insert() {
System.out.println("--- 전화번호 추가 ---");
System.out.print("이름 입력 > ");
String addname = scanner.next();
System.out.print("전화번호 입력 > ");
String addphonenumber = scanner.next();
set.add(new Person(addname,addphonenumber));
}// insert()
// 전화번호 삭제
public void delete() {
System.out.println("--- 전화번호 삭제 ---");
System.out.print("삭제할 이름 입력 > ");
String dname = scanner.next();
Person delete_data = findName(dname);
if (delete_data != null) {
set.remove(delete_data);
System.out.println(delete_data + "삭제되었습니다.");
} else {
System.out.println("삭제할 이름이 잘못되었거나, 없는 전화번호입니다.");
}
} // delete()
// findName
public Person findName(String dname) {
for(Person person : set) {
if(person.getname().equals(dname))
return person;
}
return null;
} // findName
// 전화번호 목록
public void list() {
System.out.println("--- 전화번호 목록 ---");
for(Person pe : set) {
System.out.print(pe + " ");
}
} // list()
// 종료
public void end() {
System.out.println("-- program end --");
System.exit(0);
}
}
--------------------------------------------------------------------------------
// PersonMain
package ch03_setQuiz;
public class PersonMain {
public static void main(String[] args) {
PersonManager person = new PersonManager();
person.menu();
}
}