1 import java.util.Scanner; 2 3 public class dichotomy { 4 public static void main(String[] args) { 5 Scanner sc=new Scanner(System.in); 6 System.out.println("请输入数组的长度:"); 7 int a=sc.nextInt(); 8 int arr[]=new int[a]; 9 for(int i=0;i<a;i++){ 10 arr[i]=sc.nextInt(); 11 } 12 System.out.println("请输入要查找的数:"); 13 int value=sc.nextInt(); 14 System.out.println("索引为:"+getIndex(arr,value)); 15 } 16 public static int getIndex(int []arr,int value){ 17 int min=0; 18 int max=arr.length-1; 19 int mid=(max+min)/2; 20 while (value!=arr[(max+min)/2]){ 21 if(value>arr[(max+min)/2]){ 22 min=(max+min)/2+1; 23 } 24 else if(value<arr[(max+min)/2]){ 25 max=(max+min)/2-1; 26 } 27 mid=(max+min)/2; 28 } 29 return mid; 30 } 31 }
结果显示:java