import java.util.Scanner;
public class Ex2 {
public static void main(String[] args) {
int key;
Scanner Input = new Scanner(System.in);
int[] arr = {1, 2, 3, 4, 6, 8, 9, 11, 13, 16, 19, 20};//12개
System.out.print("찾으려는 숫자를 입력하세요(0~20사이의 정수) : ");
key = Input.nextInt();
binsearch(arr, key, 0, arr.length);
}
static void binsearch(int arr[], int key, int left, int right){
int mid = (left+right)/2;//6
if(key == arr[mid])
System.out.println("찾으시려는 숫자는 [" + mid + "]번째 인덱스에 있습니다.");
else if(key<arr[mid])
binsearch(arr, key, left, mid-1);
else if(key>arr[mid])
binsearch(arr, key, mid+1, right);
else
System.out.println("찾으시려는 숫자가 없습니다.");
}
}
//찾으려는 숫자를 찾으려는데 식에는 문제가 없는걸로 생각됩니다.
찾는 숫자가 없을 때 엘스에 걸리게 하고 싶은데 현재 소스로는 else에 걸릴 수가 없네요;;;
조건을 어떻게 줘야할까요?? 조언부탁드립니다.