题目:
数组的二分查找
难点:连续取中值实现过程
代码如下:
import java.util.Scanner; public class BinarySearch { public static void main(String[] args) { int []sort={1,2,3,4,5,6,7,8,9}; Scanner sc=new Scanner(System.in); System.out.println("请输入元素的值:"); int key= sc.nextInt(); int locale=-1; int low=0; int high=sort.length-1; while(high>=low) { int mid=(high+low)/2; if(key<sort[mid]) high=mid-1; else if(key==sort[mid]){ locale=mid; break; } else low=mid+1; } if(locale==-1) System.out.println("数组中不存在元素"+key); else System.out.println("元素"+key+"在数组中的下标位置为:"+ locale); } } 运行结果: