编辑代码

public class test1 {
    // 在有序数组中查找元素 k 是否存在
    static boolean binarySearch(int[] arr, int k) {
        int left = 0; // 左边界
        int right = arr.length - 1; // 右边界

        // 当左边界小于等于右边界时进行循环
        while (left <= right) {
            // 计算中间位置
            int mid = left + (right - left) / 2;

            // 比较中间元素与目标元素
            if (arr[mid] == k) {
                return true; // 元素 k 存在于数组中
            } else if (arr[mid] < k) {
                left = mid + 1; // 目标元素可能在右侧,更新左边界
            } else {
                right = mid - 1; // 目标元素可能在左侧,更新右边界
            }
        }

        return false; // 元素 k 不存在于数组中
    }

    public static void main(String[] args) {
        int[] sortedArray = {6, 17, 25, 34, 52, 63, 85};
        int elementToFind = 6;

        boolean isElementPresent = binarySearch(sortedArray, elementToFind);

        // 输出结果
        if (isElementPresent) {
            System.out.println("元素 " + elementToFind + " 存在于数组中。");
        } else {
            System.out.println("元素 " + elementToFind + " 不存在于数组中。");
        }
    }
}