import java.util.*; public class ArrayTwo { public static void main(String[] args) { int start=0,end,middle; int a[]={12,45,67,89,123,-45,67}; int N=a.length; for(int i=0;i<N;i++){//选择法排序数组 for(int j=i+1;j<N;j++){ if(a[i]>a[j]){ int t=a[i]; a[i]=a[j]; a[j]=t; } } } Scanner scanner=new Scanner(System.in); System.out.println("输入一个整数,程序判断该整数是否在数组中"); int number=scanner.nextInt(); int count=0; end=N; middle=(start+end)/2; while(number!=middle){ if(number>a[middle]) start=middle; else if(number<middle) end=middle; middle=(start+end)/2; count++; if(count>N/2) break; } if(count>N/2) System.out.printf("%d不在数组中.\n",number); else System.out.printf("%d在数组中.\n",number); } }