Java 에러 : Phone cannot be resolved to a type
조회수 910회
자꾸 Phone cannot be resolved to a type
에러가 뜨는데 어떻게 해결해야할지 모르겟습니다
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class T11_PhoneBookTest {
private Scanner scan;
private Map<String, Phone> phoneBookMap;
public T11_PhoneBookTest() {
scan = new Scanner(System.in);
phoneBookMap = new HashMap<>();
}
// 메뉴 메소드
public void displayMenu(){
System.out.println("==========================");
System.out.println(" 다음 메뉴중 하나를 선택하세요.");
System.out.println("==========================");
System.out.println(" 1. 회원 추가");
System.out.println(" 2. 회원 목록 보기");
System.out.println(" 3. 회원 정보 수정하기");
System.out.println(" 4. 회원 삭제");
System.out.println(" 5. 종료");
}
// 프로그램을 시작 메서드
public void phoneBookStart(){
while(true){
displayMenu(); // 메뉴 출력
int menuNum = scan.nextInt(); // 메뉴 입력
switch(menuNum){
case 1 : insert(); // 회원 추가
break;
case 2 : displayAll(); // 회원 목록 보기
break;
case 3 : update(); // 회원 정보 수정하기
break;
case 4 : delete(); // 회원 삭제
break;
case 0 : // 종료
System.out.println("종료되었습니다.");
return;
default :
System.out.println("잘못 입력했습니다. 다시입력하세요.");
}
}
}
// 회원을 추가하는 메서드
private void insert() {
System.out.println();
System.out.println("등록할 회원의 정보를 입력하세요");
System.out.print("이름: ");
String name = scan.next();
// 이미 등록된 사람인지 검사
// get()메서드로 값을 가져올 때 가져올 자료가 없으면 null을 반환한다.
if(phoneBookMap.get(name) != null) {
System.out.println(name + " 님은 이미 등록된 회원입니다.");
return; //메서드 종료
}
System.out.print("전화번호(ex: 01012345678): ");
String tel = scan.next();
System.out.print("주소: ");
String addr = scan.next();
System.out.print("종류(ex.가족, 친구, 기타): ");
String kind = scan.nextLine();
scan.nextLine(); // 입력버퍼에 남아 있는 엔터키 값까지 읽어와 버리는 역할을 함.
// next()호출 후 nextLine()호출 시 혹시 남아있을지 모름
// 엔터값을 제거하기 위해 한번 호출한다.
phoneBookMap.put(name, new Phone(name, tel, addr, kind));
}
public static void main(String[] args) {
new T11_PhoneBookTest().phoneBookStart();
}
// 회원 목록을 보는 메서드
private void displayAll() {
Set<String> keySet = phoneBookMap.keySet();
System.out.println("총 " + keySet.size() + " 명의 회원이 저장되어 있습니다.");
System.out.println("회원정보 : \t이름 = \t전화번호 : \t주소 : ");
if(keySet.size() == 0) {
System.out.println("등록된 전화번호 정보가 없습니다.");
} else {
Iterator<String> it = keySet.iterator();
int cnt = 0;
while(it.hasNext()) {
cnt++;
String name = it.next();
Phone p = phoneBookMap.get(name);
System.out.println(" " + cnt + "\t" + p.getName() + "\t" + p.getTel() + "\t" + p.getAddr() + p.getKind() + "\t");
}
}
}
// 회원정보를 수정하는 메서드
private void update() {
System.out.println();
System.out.println("수정할 전화번호 이름을 입력하세요");
System.out.print("이름: ");
String name = scan.next();
// 수정할 자료가 있는지 검사
if(phoneBookMap.get(name) == null) {
System.out.println(name + " 해당하는 회원 정보가 없습니다.");
return; //메서드 종료
}
System.out.print("전화번호(ex: 01012345678): ");
String tel = scan.next();
System.out.print("주소: ");
scan.next();
String addr = scan.next();
System.out.print("종류(ex.가족, 친구, 기타): ");
String kind = scan.nextLine(); // 입력버퍼에 남아 있는 엔터키 값까지 읽어와 버리는 역할을 함.
// next()호출 후 nextLine()호출 시 혹시 남아있을지 모름
// 엔터값을 제거하기 위해 한번 호출한다.
Phone p = new Phone(name, tel, addr, kind);
phoneBookMap.put(name, p);
System.out.println("수정이 완료되었습니다.");
}
// 회원정보를 삭제하는 메서드
private void delete() {
System.out.println();
System.out.println("삭제할 회원 이름을 입력하세요");
System.out.println("이름 : ");
String name = scan.next();
String tel = scan.next();
String addr = scan.next();
String kind = scan.next();
System.out.println("이름 = " + name +", 전화번호 : " + tel + ", 주소 : "+ addr + ", 조" );
// remove(key) => 삭제 성공하면 삭제된 value값만 반환하고, 실패하면 null 반환
if(phoneBookMap.remove(name) == null) {
System.out.println(name + " 씨는 등록된 사람이 아닙니다.");
} else {
System.out.println("삭제가 완료되었습니다");
}
// 회원정보를 저장하기 위한 클라스
class Phone{
private String name; // 이름
private String tel; // 전화번호
private String addr; // 주소
private String kind; //종류
public Phone(String name, String tel, String addr, String kind) {
super();
this.name = name;
this.tel = tel;
this.addr = addr;
this.kind = kind;
}
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 String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public String getKind() {
return kind;
}
public void setkind(String kind) {
this.kind = kind;
}
@Override
public String toString() {
return "Phone [name=" + name + ", tel=" + tel + ", addr=" + addr + ", kind=" + kind + "]";
}
}
}
}
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
댓글 입력