728x90
SMALL
초반부터 내 최대적수는 중복값은 출력되면서 검색결과없음 문구는 한번만 출력되는거
아주 수많은 관문이 있었지..
동명이인이 있을수도 있고 나이가 같은 사람이 있을수도있는데 말이야...
이걸 어떻게 했냐면...
if (sr ==1) {
System.out.print("이름 입력 : ");
String srName = sc.next();//이름입력받기
for (int i = 0; i < p.size(); i++) {
if (srName.contains(p.get(i).getName())) {
for (int j = i+1; j < p.size(); j++) {
if (p.get(i).getName().equals(p.get(j).getName())) {
String Phi = p.get(i).getPhone();
String Phj = p.get(j).getPhone();
System.out.println("No\t 이름\t 나이\t 전화번호 ID\t 사용자\t");
System.out.println("------------------------------------------------------------");
System.out.println((i+1)+"\t" +p.get(i)+(Phi.substring(0,4))+ "-" +(Phi.substring(4,8))+"|"+ namecode);
System.out.println((j+1)+"\t" +p.get(j)+(Phj.substring(0,4))+ "-" +(Phj.substring(4,8))+"|"+ namecode);
return;
}
}
String Ph = p.get(i).getPhone();
System.out.println("No\t 이름\t 나이\t 전화번호 ID\t 사용자\t");
System.out.println("------------------------------------------------------------");
System.out.println((i+1)+"\t" +p.get(i)+(Ph.substring(0,4))+ "-" +(Ph.substring(4,8))+"|"+ namecode);
return;
}
}//for
System.out.println("결과가 없습니다 다시 입력해주세요");
}//if
아주 멀리갔어..
머리를 굴려서 변수j값을 선언해서 해봤지만 이렇게 하면 동명이인이 2340명 있으면 변수를 2340개를 선언해야되잖아
말도 안된다
근데 난 참 멍청했다
equals의 반댓말이 있는지도 모르고 ㅋㅋㅋㅋㅋㅋ
앞쪽에 !를 붙히면 되는걸 이제알았어
- !equals
if (sr ==1) {
System.out.print("이름 입력 : ");
String srName = sc.next();//이름입력받기
for (int i = 0; i < p.size(); i++) {
if (!srName.equals(p.get(i).getName())) {
System.out.println("검색결과 없음");
break;
}
if (srName.equals(p.get(i).getName())) {
String Ph = p.get(i).getPhone();
System.out.println((i+1)+"\t" +p.get(i)+(Ph.substring(0,4))+ "-" +(Ph.substring(4,8))+"|"+ namecode);
}
}//for
return;
그리고 검색결과 없는 것을 처음에 해놓고 break;를 걸으면 되는 것이었다
하하! ㅠ
- 암튼 결과적으로 내가 만든 search메소드
public void search() {
for(;;) {
System.out.println("(1) 이름으로 검색");
System.out.println("(2) 나이로 검색");
System.out.println("(3) 전화번호로 검색");
int sr = sc.nextInt();
if (sr ==1) {
System.out.print("이름 입력 : ");
String srName = sc.next();//이름입력받기
System.out.println("No\t 이름\t 나이\t 전화번호 ID\t 사용자\t");
System.out.println("------------------------------------------------------------");
for (int i = 0; i < p.size(); i++) {
if (!srName.equals(p.get(i).getName())) {
System.out.println("검색결과 없음");
break;
}
if (srName.equals(p.get(i).getName())) {
String Ph = p.get(i).getPhone();
System.out.println((i+1)+"\t" +p.get(i)+(Ph.substring(0,4))+ "-" +(Ph.substring(4,8))+"|"+ namecode);
}
}//for
return;
}
if (sr ==2) {
System.out.print("나이 입력 : ");
int srAge = sc.nextInt();//나이입력받기
System.out.println("No\t 이름\t 나이\t 전화번호 ID\t 사용자\t");
System.out.println("------------------------------------------------------------");
for (int i = 0; i < p.size(); i++) {
if (srAge!=(p.get(i).getAge())) {
System.out.println("검색결과 없음");
break;
}
if (srAge==(p.get(i).getAge())) {
String Ph = p.get(i).getPhone();
System.out.println((i+1)+"\t" +p.get(i)+(Ph.substring(0,4))+ "-" +(Ph.substring(4,8))+"|"+ namecode);
}
}//for
return;
}//if
if (sr ==3) {
System.out.print("전화번호 입력(뒤4자리를 입력해주세요) : ");
String srPhone = sc.next();//전화번호입력받기
for (int i = 0; i < p.size(); i++) {
String Ph = p.get(i).getPhone();
if (srPhone.equals(Ph.substring(4,8))) {
System.out.println("No\t 이름\t 나이\t 전화번호 ID\t 사용자\t");
System.out.println("------------------------------------------------------------");
System.out.println((i+1)+"\t" +p.get(i)+(Ph.substring(0,4))+ "-" +(Ph.substring(4,8))+"|"+ namecode);
return;
}
}
System.out.println("결과가 없습니다 다시 입력해주세요");
}
}
}
- 아주 귀여운 print메소드
public void print() {
System.out.println("------------------------------------------------------------");
System.out.println(" ☎ Phone List ☎ ");
System.out.println("No\t 이름\t 나이\t 전화번호 ID\t 사용자\t");
System.out.println("------------------------------------------------------------");
for (int i = 0; i < p.size(); i++) {
String Ph = p.get(i).getPhone();
System.out.println((i+1)+"\t" +p.get(i)+(Ph.substring(0,4))+ "-" +(Ph.substring(4,8))+"|"+ namecode);
}
System.out.println("-------------------------------------------------------------");
}
728x90
LIST
'JAVA > Project' 카테고리의 다른 글
Todolist (0) | 2020.11.06 |
---|---|
전화번호부 검색기능 (0) | 2020.10.21 |
댓글