문제
Person 클래스
멤버변수
private String name
private int age
private String handPhone
멤버함수
생성자 구현
getter()구현
AddressPerson클래스
멤버변수
private ArrayList<Person> db
멤버함수
생성자 구현(db초기화)
public void print ()
public void insert (Person p)
public void delete (String name)
public void update (String name, Person p)
결과
데이터베이스가 생성되었습니다!
1.삽입 2.출력 3.삭제 4.수정 5.종료: 1
이름 : 신은혁
나이 : 10
전화번호 : 010-3268-1022
1.삽입 2.출력 3.삭제 4.수정 5.종료: 1
이름 : 김연아
나이 : 25
전화번호 : 010-9985-4572
1.삽입 2.출력 3.삭제 4.수정 5.종료: 1
이름 : 감자바
나이 : 60
전화번호 : 010-1785-4477
1.삽입 2.출력 3.삭제 4.수정 5.종료: 1
이름 : 김기리
나이 : 58
전화번호 : 010-8507-5255
1.삽입 2.출력 3.삭제 4.수정 5.종료: 1
이름 : 감자바
나이 : 75
전화번호 : 010-2235-5678
감자바님은 이미 등록된 회원입니다.
1.삽입 2.출력 3.삭제 4.수정 5.종료: 2
현재 고객리스트입니다.
이름 : 신은혁, 나이 : 10, 전화번호 : 010-3268-1022
이름 : 김연아, 나이 : 25, 전화번호 : 010-9985-4572
이름 : 감자바, 나이 : 60, 전화번호 : 010-1785-4477
이름 : 김기리, 나이 : 58, 전화번호 : 010-8507-5255
1.삽입 2.출력 3.삭제 4.수정 5.종료: 3
삭제할 회원 이름: 신은혁
신은혁 고객을 삭제하였습니다.
1.삽입 2.출력 3.삭제 4.수정 5.종료: 3
삭제할 회원 이름: 손연재
손연재이라는 고객의 이름은 없습니다.
1.삽입 2.출력 3.삭제 4.수정 5.종료: 2
현재 고객리스트입니다.
이름 : 김연아, 나이 : 25, 전화번호 : 010-9985-4572
이름 : 감자바, 나이 : 60, 전화번호 : 010-1785-4477
이름 : 김기리, 나이 : 58, 전화번호 : 010-8507-5255
1.삽입 2.출력 3.삭제 4.수정 5.종료: 4
수정할 회원 이름 : 감자바
나이 : 39
전화번호 : 010-5587-8897
감자바씨 정보를 업데이트 하였습니다.
현재 고객리스트입니다.
이름 : 김연아, 나이 : 25, 전화번호 : 010-9985-4572
이름 : 감자바, 나이 : 39, 전화번호 : 010-5587-8897
이름 : 김기리, 나이 : 58, 전화번호 : 010-8507-5255
1.삽입 2.출력 3.삭제 4.수정 5.종료: 5
종료합니다.
코드
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
class Person1 {
private String name;
private int age;
private String handPhone;
public Person1(String name, int age, String handPhone) {
this.name = name;
this.age = age;
this.handPhone = handPhone;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String gethandPhone() {
return handPhone;
}
public String getHandPhone() {
return handPhone;
}
public void setHandPhone(String handPhone) {
this.handPhone = handPhone;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
}
class AddressPerson {
private ArrayList<Person1> db;
public AddressPerson() { //생성자에서 ArrayList 만들기
db = new ArrayList<Person1>();
System.out.println("데이터베이스가 생성되었습니다!");
}
public void print() { //순회하면서 출력하기
System.out.println("현재 고객리스트입니다.");
Iterator<Person1> it = db.iterator();
while (it.hasNext()) {
Person1 person = it.next();
System.out.println("이름 : " + person.getName() + ", " + "나이 : " + person.getAge() + ", " + "전화번호 : "
+ person.gethandPhone());
}
}
public void insert(Person1 p) {
for (int i = 0; i < db.size(); i++) { // 이미 등록돼있으면 출력하고 종료
if (db.get(i).getName().equals(p.getName())) {
System.out.println(p.getName() + "님은 이미 등록된 회원입니다.");
return;
}
}
db.add(p);
}
public void delete(String name) {
for (int i = 0; i < db.size(); i++) {
if (db.get(i).getName().equals(name)) {
// db.remove(name);
db.remove(db.get(i)); //student 객체 자체를 삭제해야함.
System.out.println(name + " 고객을 삭제하였습니다.");
return;
}
}
System.out.println(name + "이라는 고객의 이름은 없습니다.");
}
public void update(String name, Person1 p) {
for (int i = 0; i < db.size(); i++) {
if (db.get(i).getName().equals(p.getName())) {
// db.get(i) = p; //db.get(i)는 Student 객체 값이다.
db.set(i, p); //set으로 해줘야 함.
System.out.println(name + "씨 정보를 업데이트 하였습니다.");
print();
return;
}
}
System.out.println(name + "이라는 고객의 이름은 없습니다.");
}
}
public class AddressPersonExample1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
AddressPerson ap = new AddressPerson();
while (true) {
System.out.print("1.삽입 2.출력 3.삭제 4.수정 5.종료: ");
int select = sc.nextInt();
if (select == 1) {
System.out.print("이름 : ");
String name = sc.next();
System.out.print("나이 : ");
int age = sc.nextInt();
System.out.print("전화번호 : ");
String handPhone = sc.next();
Person1 person = new Person1(name, age, handPhone);
ap.insert(person);
}
else if (select == 2) {
ap.print();
}
else if (select == 3) {
System.out.print("삭제할 회원 이름: ");
String name = sc.next();
ap.delete(name);
}
else if (select == 4) {
System.out.print("수정할 회원 이름 : ");
String name = sc.next();
System.out.print("나이 : ");
int age = sc.nextInt();
System.out.print("전화번호 : ");
String handPhone = sc.next();
Person1 person = new Person1(name, age, handPhone);
ap.update(name, person);
}
else if (select == 5) {
System.out.println("종료합니다.");
break;
}
}
}
}
'Java' 카테고리의 다른 글
| [Java] Map 사용 예제 (23-2) (0) | 2023.09.14 |
|---|---|
| [Java] Map 사용 예제 (23-1) (0) | 2023.09.14 |
| [Java] HashSet (hashCode,equals) 사용 예제 (22-1) (0) | 2023.09.13 |
| [Java] 자바 컬렉션 HashSet (21-4) (0) | 2023.09.07 |
| [Java] 자바 컬렉션 ArrayList (21-3) (1) | 2023.09.07 |