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"));
}
}