Java 如何输出二进制搜索方法?

Java 如何输出二进制搜索方法?,java,search,binary,Java,Search,Binary,这只是一般的二进制搜索,在我的程序中,我使用这种搜索方法允许用户查找书籍标题 String [] binaryArray = {"4", "6", "10"}; //the chosen binary numbers to look for public static Boolean binarySearch(String [] A, int left, int right, String V) { int middle; Boolean found = false;

这只是一般的二进制搜索,在我的程序中,我使用这种搜索方法允许用户查找书籍标题

String [] binaryArray = {"4", "6", "10"}; //the chosen binary numbers to look for

public static Boolean binarySearch(String [] A, int left, int right, String V) {
    int middle;
    Boolean found = false;

    while (found == false && left <= right) {
        //If middle item == 0, returns true
        middle = (left + right)/2;
        int compare = A[middle].compareTo(V);
        if (compare == 0) {
            found = true;
        } else {
            if (compare >0) {
                right = middle -1;
            } else {
                left = middle + 1;
            }
        }
    }
    if (left > right) {
        return false;
    } else {
        return true;
    }
} 

setText(“书名”+binarySearch(binaryArray,0,binaryArray.length-1,输入))???好吧,这几乎没有什么区别,因为我正在从代码中划出一个真正的库,你可能不会使用数组。因此,也没有二进制搜索。您将使用SQL从数据库中获取用户想要的书籍。
private void findBookActionPerformed(java.awt.event.ActionEvent evt) { //finds book...                                       

    String input = enterNumberField.getText(); //input number to see if it matches up

    if ("4".equals(input)) {
        binarySearchField.setText("Book Title" + binarySearch(binaryArray, 0, binaryArray.length-1, "4"));
    } else if("6".equals(input)){
        binarySearchField.setText("Book Title" + binarySearch(binaryArray, 0, binaryArray.length-1, "6"));
    } else if("10".equals(input)){
        binarySearchField.setText("Book Title" + binarySearch(binaryArray, 0, binaryArray.length-1, "10"));
    }
}