package StringMethod;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
//二分查找练习
int[] arr = {12, 23, 34, 45, 56, 67, 78, 88,98}; // 创建有序从小到达的数组
Scanner sc = new Scanner(System.in);
System.out.println("请输入查找值:");
int target = sc.nextInt();
int start = 0;
int end = arr.length-1;
int mid;
boolean isflag = false;
while (start <= end) { //如果满足起始值<=结束值就执行语句体
mid = (end + start) / 2; // 中间值等于开始值加上终点值除以2 【思想:0<b<c线段 取bc间线段中间点,在加上0-b长线段放右边即除以2得到中间点值】
if (target == arr[mid]) {
System.out.println("恭喜你找到了,目标函数的索引为:" + mid);
isflag = true;
break;
} else if (target > arr[mid]) {
start = mid + 1;
} else {
end = mid - 1;
}
}
if (isflag == false) {
System.out.println("没找到");
}
}
}