210809_배열 이용하여 숫자,이름 찾기
(예제)
int[]data= {4,79,5,26,71,34,9,65,38,2};
int su=0; //입력해서 찾을 숫자
//몇번만에 나올지 모르기에 while(true)
//숫자를 입력해서 그 숫자가 몇번째에 있는지 찾기
//그 숫자가 없으면 없다고, 있으면 몇 번째?
//0이면 종료
Scanner sc=new Scanner(System.in);
while(true)
{
System.out.println("검색할 숫자 입력");
su=sc.nextInt();
//break문
if(su==0)
{
System.out.println("종료");
break;
}
boolean flag=false; //기본값이 false이며 찾으면 false. true인지 flase인지
//길 찾기
for(int i=0;i<data.length;i++)
{
//flag가 true일 경우
if(su==data[i])
{
flag=true;
//몇 번째?
System.out.println(i+1+"번째에서 검색됨");
}
}
if(!flag) // flag==flase
System.out.println(su+"는 데이터에 없음");
}
//결과
검색할 숫자 입력
17
17는 데이터에 없음
검색할 숫자 입력
5
3번째에서 검색됨
검색할 숫자 입력
5
3번째에서 검색됨
검색할 숫자 입력
0
종료
--------------------
(예제)
// 검색할 이름은?
//없으면 우리반이 아닙니다
//Q 이름찾기 종
String[]data={"김도현","김보라","김수환","김주연","김태민","박여은","정선교","안수현","안유진","이연희"};
String name=null;
Scanner sc=new Scanner(System.in);
while(true)
{
System.out.println("검색할 이름 입력");
name=sc.nextLine();
if(name.equalsIgnoreCase("q")) //문자는 ==가 아닌 equals tkdyd
{
System.out.println("이름찾기 종료");
break;
}
boolean flag=false;
for(int i=0;i<data.length;i++)
if(name.equals(data[i]))
{
flag=true;
System.out.println(i+1+"번째에서 검색");
}
if(!flag)
System.out.println("우리반이 아닙니다");
}
//결과
검색할 이름 입력
김도현
1번째에서 검색
검색할 이름 입력
유재석
우리반이 아닙니다
검색할 이름 입력
Q
이름찾기 종료