ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Java 程序:执行二分搜索 > 原文: [https://beginnersbook.com/2014/04/java-program-to-perform-b​​inary-search/](https://beginnersbook.com/2014/04/java-program-to-perform-binary-search/) #### 在整数列表上执行二分搜索的程序 该程序使用[二分搜索算法](https://en.wikipedia.org/wiki/Binary_search_algorithm)来在列表中搜索给定元素。 ```java /* Program: Binary Search Example * Written by: Chaitanya from beginnersbook.com * Input: Number of elements, element's values, value to be searched * 输出:Position of the number input by user among other numbers*/ import java.util.Scanner; class BinarySearchExample { public static void main(String args[]) { int counter, num, item, array[], first, last, middle; //To capture user input Scanner input = new Scanner(System.in); System.out.println("Enter number of elements:"); num = input.nextInt(); //Creating array to store the all the numbers array = new int[num]; System.out.println("Enter " + num + " integers"); //Loop to store each numbers in array for (counter = 0; counter < num; counter++) array[counter] = input.nextInt(); System.out.println("Enter the search value:"); item = input.nextInt(); first = 0; last = num - 1; middle = (first + last)/2; while( first <= last ) { if ( array[middle] < item ) first = middle + 1; else if ( array[middle] == item ) { System.out.println(item + " found at location " + (middle + 1) + "."); break; } else { last = middle - 1; } middle = (first + last)/2; } if ( first > last ) System.out.println(item + " is not found.\n"); } } ``` 输出 1: ```java Enter number of elements: 7 Enter 7 integers 4 5 66 77 8 99 0 Enter the search value: 77 77 found at location 4. ``` 输出 2: ```java Enter number of elements: 5 Enter 5 integers 12 3 77 890 23 Enter the search value: 99 99 is not found. ```