/** * 二分查找 * @param num 搜索字符 * @param s1 搜索源 * @param start 开始位置 * @param end 结束位置 * @return true or false */ public static boolean find(int num, int[] s1,int start,int end) { if(start >end){ return false; } int rg = start+(end-start)/2; if(num<s1[rg]){ return find(78, s1,start,rg-1); } else if(num>s1[rg]){ return find(78, s1,rg+1,end); }else { return true; } } public static void main(String[] args) { int[] s1 = {1, 2, 35, 6, 78, 458, 246,5}; System.out.println(find(8, s1,0,8)); }