뿌듯
package book;
public class TelPhone {
//객체의 특성을 저장한다.\
private String name;
private String telNumber;
// 객체 생성사 객체의 이름과 번호를 같이 생선한다.
public TelPhone(String name, String telNumber) {
this.name = name;
this.telNumber = telNumber;
}
public String getName() {
return name;
}
public String getTelNumber() {
return telNumber;
}
}// end of class
package book;
//전화번호부에 저장된 연락처 정보 CRUD 기능 구현
import java.util.Scanner;
public class TelBook {
// * **요구 사항**
// *
// * - **저장**: 사용자가 이름과 전화번호를 입력하여 전화번호부에 저장할 수 있어야 합니다.
// * - **조회**: 전체 연락처 목록을 조회.
// * - **수정**: 기존 연락처의 전화번호를 변경할 수 있어야 합니다.
// * - **삭제**: 전화번호부에서 연락처를 삭제할 수 있어야 합니다.
// * - **선택 조회** : 이름을 입력하면 해당 전화번호가 출력 되어야 합니다.
// * - **프로그램 종료 - 사용자가 프로그램 종료할 때 까지 계속 실행되어야 합니다.**
// * - **Scanner 활용, 입력 받는 데이터 타입은 전부 String 으로 처리**
// * - **전화번호 저장은 100까지 한정.**
static int helpNumber = 6;
//코드의 진입점
public static void main(String[] args) {
//스크린 도구를 만들어준다.
Scanner scanner = new Scanner(System.in);
//객체를 인덱스로 만들어준다.
TelPhone[] telPhones = new TelPhone[100];
//TODO 프로그램 테스트 전까지 샘플링 유지 밑 샘플링 추가 시작번호는 6번
//텔 넘버 샘플
telPhones[0] = new TelPhone("다나카", "010-1234-1234");
telPhones[1] = new TelPhone("사토우", "010-4354-7254");
telPhones[2] = new TelPhone("미나토", "010-6234-2564");
telPhones[3] = new TelPhone("텐사카", "010-1204-0294");
telPhones[4] = new TelPhone("요시무라", "010-5564-3234");
// 1.저장 2, 전체 조회 3.수정 4.삭제 5.선택조회 6.프로그램 종료에 따른 인수를 만들어 주세요.
final String SAVE = "1";
final String READ_ALL = "2";
final String CHANGE = "3";
final String DELETE = "4";
final String READ_CHOICE = "5";
final String END = "6";
//프로그램의 큰틀부터 만들어보자.
//while문을 사용하므로 flag를 꼽아주자
boolean flag = true;
//while문의 시작점
while (true) {
System.out.println("1. 저장 2. 전체 조회 3. 수정 4. 전화번호 삭제 5.선택조회 6.종료 ");
System.out.println("번호를 입력해주세요 : ");
String selectNumber = scanner.nextLine();
if (selectNumber.equals(SAVE)) {
save(telPhones, scanner);
} else if (selectNumber.equals(READ_ALL)) {
readAll(telPhones);
} else if (selectNumber.equals(CHANGE)) {
change(telPhones, scanner);
} else if (selectNumber.equals(DELETE)) {
delete(telPhones, scanner);
} else if (selectNumber.equals(READ_CHOICE)) {
choice(telPhones, scanner);
} else if (selectNumber.equals(END)) {
break;
} else {
System.out.println(" 잘못된 번호입니다. 다시 입력해 주세요");
System.out.println("---------------------------------");
}
}// end of while
} // end of main
//메서드
// 저장
public static void save(TelPhone[] telPhones, Scanner scanner) {
System.out.println(">>>>저장<<<<");
System.out.println("--이름을 기입해주세요");
String selectName = scanner.nextLine();
System.out.println("--번호를 기입해주세요");
String selectNumber = scanner.nextLine();
if (telPhones.length < helpNumber) {
System.out.println("더이상 저장할 공간이 없습니다");
return;
}
telPhones[helpNumber] = new TelPhone(selectName, selectNumber);
helpNumber++;
}
// 전체 조회
public static void readAll(TelPhone[] telPhones) {
System.out.println(">>>>전체조회<<<<");
for (int i = 0; i < telPhones.length; i++) {
//방어문
if (telPhones[i] != null) {
System.out.println(telPhones[i].getName() + "," + telPhones[i].getTelNumber());
}
}
}
//수정
public static void change(TelPhone[] telPhones, Scanner scanner) {
System.out.println("수정하실 이름을 입력해주세요");
String selectName1 = scanner.nextLine();
boolean findName = false;
for (int i = 0; i < telPhones.length; i++) {
if (telPhones[i] != null) {
if (telPhones[i].getName().equals(selectName1.trim())) {
System.out.println("--수정하실 이름을 기입해주세요");
String selectName = scanner.nextLine();
System.out.println("--수정하실 번호를 기입해주세요");
String selectNumber = scanner.nextLine();
telPhones[i] = new TelPhone(selectName, selectNumber);
System.out.println("수정하였습니다.");
}
}
}
}
// 전화번호 삭제
public static void delete(TelPhone[] telPhones, Scanner scanner) {
System.out.println("삭제하실 이름을 입력해주세요");
String selectName1 = scanner.nextLine();
boolean findName = false;
for (int i = 0; i < telPhones.length; i++) {
if (telPhones[i] != null) {
if (telPhones[i].getName().equals(selectName1.trim())) {
telPhones[i] = null;
System.out.println("삭제하였습니다");
}
}
}
}
//선택조회
public static void choice(TelPhone[] telPhones, Scanner scanner) {
System.out.println("조회하실 이름을 입력해주세요");
String selectName1 = scanner.nextLine();
boolean findName = false;
for (int i = 0; i < telPhones.length; i++) {
if (telPhones[i] != null) {
if (telPhones[i].getName().equals(selectName1.trim())) {
System.out.println(telPhones[i].getName() + "," + telPhones[i].getTelNumber());
}
}
}
}
}// end of class
'JAVA 객체 지향 핵심' 카테고리의 다른 글
(JAVA)상속(Inheritance) - 14 (0) | 2025.04.21 |
---|---|
(JAVA)메서드 오버로딩 - 13 (1) | 2025.04.21 |
Book으로 연습문제 재복습 (0) | 2025.04.19 |
(JAVA)배열 복습하기-11 (0) | 2025.04.18 |
(JAVA)Array(배열) 에 이해 - 10 (0) | 2025.04.17 |