Java数组的ASCII码的转换问题

一串字符串中每一个字符对应的 ascii 码值存入一个整形数组中,并提示用户输入一个字符,通过“折半检索”的方法判断输入字符对应的 ascii 码值是否在数组中。

折半查找的前提必须排好序的。

网上找个二分法搜索就行了。

如有帮助,请点击我这个回答右上角的【采纳】按钮支持一下,谢谢。
代码如下:

import java.util.Arrays;
import java.util.Scanner;
public class SearchTest {

    public static void main(String[] args) {
        String str="abc123ABC456";
        char[] chars = str.toCharArray();
        int nums[]=new int[chars.length];
        for (int i=0;i<chars.length;i++) {
            nums[i]=chars[i];
        }
        Arrays.sort(nums);
        System.out.println("请输入一个字符:");
        Scanner in=new Scanner(System.in);
        String ch = in.next();
        int result=binarySearch(nums,ch.toCharArray()[0]);
        System.out.println(result==-1?"不在数组中":"在数组中");
    }
    public static int binarySearch(int[] arr, int findElem) {
        int low = 0;
        int high = arr.length - 1;
        int mid;
        while (low <= high) {
            mid = (low + high) / 2;
            if (findElem < arr[mid]) {
                high = mid - 1;
            }
            if (findElem > arr[mid]) {
                low = mid + 1;
            }
            if (arr[mid] == findElem) {
                return mid;
            }
        }
        return -1;
    }
}

img