简单二分查找(给定一个数组,在指定一个对象值,在给定数组中查找该对象值,若数组中存在该对象值,则返回该值在数组中的位置,若数组中没有该对象值,则返回值-1)
import java.util.Scanner;
public class BinarySearch {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int nums[] = new int[3];
for(int i = 0;i < nums.length;i++){
nums[i] = input.nextInt();
}
System.out.println("请输入target:");
int target = input.nextInt();
Solution s =new Solution();
System.out.println(s.binarySerch(nums ,target));
}
}
class Solution{
public static int binarySerch(int nums[],int target){
int low = 0 , high = nums.length - 1;
while(low <= high){
int mid = (high - low)/2 + low;
if(target == nums[mid]){
System.out.println(mid);
return mid;
}else if(target < nums[mid]){
high = mid - 1;
}else if(target > nums[mid]){
low = mid + 1;
}
}
return -1;
}
}