/**
- 实现二分查找程序
- 前提:数组中的数据是有序
*/
public class FoundNum {
public int getNum(int []arr,int key,int fist ,int last){
int mide=0;//返回的整型
while (fist<=last){
mide=(fist+last)/2;
if(arr[mide]<key){
fist=fist+1;
}else if(arr[mide]>key) {
last = last -1;
} else {
return arr[mide];//查找成功返回的值
}
}
return -1;//查找不成功返回的值
}
public static void main(String arg[]){
Scanner scanner=new Scanner(System.in);
int [] kk={1,2,3,4,5,6,8,10};
System.out.println(kk.length);
int key=scanner.nextInt();//获取控制台的输入且是需要查找的值
int first=0;//用于移动数组的下标位置
FoundNum foundNum=new FoundNum();
int get1=foundNum.getNum(kk,key,first,kk.length-1);
if(get1==-1){
System.out.println(“查找不成功!”+key);
}else {
System.out.println(“存在且为:”+get1);
}
}
}