1. Phone 클래스를 작성하시오.
1) 필드: 이름(name), 전화번호(tel)
2) 생성자: 생성시 전달받은 값으로 이름, 전화번호 필드를 초기화 함
3) toString() 메소드 정의
package lab1;
public class Phone {
private String name;
private String tel;
public String getName() {
return name;
}
public String getTel() {
return tel;
}
@Override
public String toString() {
return "Phone [name=" + name + ", tel=" + tel + "]";
}
public Phone(String name, String tel) {
this.name = name;
this.tel = tel;
}
}
2. PhoneManager 클래스를 작성하시오. main() 메소드를 가짐
- 단, 한 사람의 전화번호는 하나의 객체로 다룬다.
package lab1;
import java.util.Scanner;
public class PhoneManager {
public static void main(String[] args) {
Scanner scr = new Scanner(System.in);
System.out.println("인원수 >> ");
int personNum = scr.nextInt(); // 인원수 읽어와서 변수 personNum에 저장
scr.nextLine(); // 정수 입력 후 남은 개행 문자를 소비합니다.
Phone[] phone = new Phone[personNum]; // 입력받은 인원수에 맞게 Phone 객체 배열을 생성
for(int i = 0; i < personNum; i++) { // 입력받은 인원수만큼 반복
System.out.println("이름과 전화번호(번호는 연속적으로 입력) >> ");
String name = scr.next();
String tel = scr.next();
phone[i] = new Phone(name, tel); // 입력받은 이름, 전화번호로 Phone 객체 생성 후 배열에 저장
}
System.out.println("저장되었습니다.");
while(true) { // 무한루프 시작해 사용자가 이름 검색하는 기능 제공
System.out.println("검색할 이름 >> ");
String name = scr.next();
if(name.equals("exit")) {
System.out.println("프로그램이 종료되었습니다.");
break;
}
boolean found = false; // 이름 찾았는지 여부 나타내는 변수 found를 초기화
for(int i = 0; i < phone.length; i++) { // 배열의 모든 요소 반복하여 이름 검색
String pName = phone[i].getName(); // Phone 객체에서 이름 가져와 pName 변수에 저장
if(pName.equals(name)) { // 입력된 이름과 배열 이름 비교해 일치 경우 해당 전화번호 출력, found를 true로 설정
System.out.println(phone[i].getName() + "의 번호는 " +
phone[i].getTel() + "입니다.");
found = true;
break;
}
}
if(!found) {
System.out.println(name + "님은 없는 정보입니다.");
}
scr.nextLine();
}
}
}
'학교 > JAVA' 카테고리의 다른 글
모바일 웹 서비스를 위한 JSP 웹 프로그래밍 연습문제_05장 서블릿 (0) | 2023.12.13 |
---|---|
컬렉션 연습문제 (Student, Main) (0) | 2023.10.27 |
컬렉션(ArrayList<String>, Iterator) 연습문제 (ArrayEx02) (0) | 2023.10.26 |
컬렉션(ArrayList<String>) 연습문제 (ArrayEx01) (0) | 2023.10.26 |
컬렉션(물건 추가, 조회, 수정, 종료) 연습 문제 (Product, Main) (0) | 2023.09.26 |