JAVA

210809_배열 이용하여 숫자,이름 찾기

요옫 2021. 8. 9. 16:21

(예제)

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

이름찾기 종료