-
객체와 객체배열 연습문제 (Phone, PhoneManager)학교/JAVA 2023. 10. 26. 02:44
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) (1) 2023.10.27 컬렉션(ArrayList<String>, Iterator) 연습문제 (ArrayEx02) (0) 2023.10.26 컬렉션(ArrayList<String>) 연습문제 (ArrayEx01) (0) 2023.10.26 컬렉션(물건 추가, 조회, 수정, 종료) 연습 문제 (Product, Main) (1) 2023.09.26