List를 사용한 고객 정보 관리 예제
package ex5_work;
public class Person {
private String name, tel;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package ex5_work;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class PersonManager {
public void personMgr() {
Scanner sc = new Scanner(System.in);
int menuSelect;
Person p;
List<Person> list = new ArrayList<>();
loop1 :
while(true) {
System.out.printf("1. 정보추가\n2. 정보삭제\n3. 전체정보\n4. 종료\n항목 선택 : ");
menuSelect = sc.nextInt();
p = new Person();
String tel;
String deltel;
switch(menuSelect) {
case 1:
System.out.println("\n-------- 정보 추가 --------");
System.out.printf("이름 : ");
p.setName(sc.next());
System.out.printf("나이 : ");
p.setAge(sc.nextInt());
System.out.printf("번호 : ");
tel = sc.next();
for(int i=0;i<list.size();i++) {
if(list.get(i).getTel().equals(tel)) {
System.out.println("중복된 번호입니다.\n");
continue loop1;
}
}
p.setTel(tel);
list.add(p);
System.out.printf("정보 저장 완료\n\n");
break;
case 2:
System.out.println("\n-------- 정보 삭제 --------");
System.out.printf("삭제할 번호을 입력해주세요 : ");
deltel = sc.next();
for(int i=0;i<list.size();i++) {
if(list.get(i).getTel().equals(deltel)) {
list.remove(i);
System.out.printf("번호 %s의 정보를 삭제했습니다.\n",deltel);
break;
}
else {
if(i+1==list.size()) {
System.out.printf("번호 %s이/가 존재하지 않습니다.\n",deltel);
break;
}
}
}
System.out.println();
break;
case 3:
System.out.println("\n-------- 전체 정보 --------");
System.out.printf("등록인원 : %d명\n", list.size());
for(Person person : list) {
System.out.printf("이름 : %s\n나이 : %d\n번호 : %s\n",person.getName(),person.getAge(),person.getTel());
System.out.println("-------------------------");
}
System.out.println();
break;
case 4:
System.out.println("\n------- 프로그램 종료 -------");
break loop1;
default:
System.out.println("잘못된 입력입니다.\n");
break;
}
}
}
}
package ex5_work;
public class PersonMain {
public static void main(String[] args) {
//고객의 인적사항을 추가, 삭제, 조회
//기능을 PersonManager 클래스에 구현
//메서드 이름은 PersonMgr()
//main에선 호출만 하기
PersonManager pm = new PersonManager();
pm.personMgr();
}
}