例题3-8 使用whle循环和折半法查找一个整数是否在一个排序的int类型数组中

import java.util.Scanner;
public class Example3_8{
 public static void main(String[] args){
  int n,start,end,middle;
  int a[]={-2,1,2,3,4,5,6,7,8,9,};
  start=0;
  end=a.length;
  middle=(start+end)/2;
  int count =0;
  Scanner reader =new Scanner(System.in);
  System.out.print("请输入一个整数");
  n=reader.nextInt();
  while(n!=a[middle]){
   if(n>a[middle]){
    start=middle;
    }
    else if(n<a[middle]){
     end = middle;
     }
     middle=(start+end)/2;
     count++;
     if(count>a.length/2){
      break;
      }
   }
   if(count>a.length/2)
   System.out.println(n+"不在数组中");
   else
   System.out.println(n+"是数组中的第"+middle+"个元素");
  }
 }

 

posted on 2013-03-19 19:13  zhangqiang618  阅读(265)  评论(0编辑  收藏  举报