```java
public class bSearch{
public static int bSearch(int[]a; int x,int low,int high){
int mid;
if(low>high)
return -1; //查找不成功
mid=(low+high)/2;
if(x == a[mid]) return mid; //查找成功
else if(x<a[mid])
return bSearch(a,x,low,mid-1); //在上半区查找
else
return bSearch(a,x,mid+1,high);//在下半区查找
}
public static void main(String[]args){
int [] a={1,3,4,5,17,18,31,33};
int x=17;
int bn;
bn = bSearch(a,x,0,7);
if(bn==-1)
System.out.println("x不在数组a中");
else
System.out.println("x在数组a中,下标为:"+bn);
}
}
```