import java.util.Arrays;
import java.util.Scanner;
import com.qf.pro2103.Util.productIntArray;
public class Demo5 {
public static void main(String[] args) {
//调用方法 int[] a=productIntArray.ProductIntArray(n,begin,end);
//随机生成一个数组
int[] a=productIntArray.ProductIntArray(100,0,1000);
//输出随机数组
printArray(a);
System.out.println("-------------------------------------------------------");
//排序数组
Arrays.sort(a);
//输出排序后的数组
printArray(a);
System.out.println("-------------------------------------------------------");
System.out.println("请输入需要查询的数:");
Scanner input=new Scanner(System.in);
int queryNum=input.nextInt();
boolean isContinue=true;
int begin=0;
int end=a.length-1;
int nowNum;
while(isContinue) {
nowNum=(begin+end)/2;
if(queryNum==a[nowNum]) {
System.out.println("查询到下标是"+nowNum+"的数组元素是"+queryNum);
isContinue=false;
}else if(queryNum>a[nowNum]){
//end=end;
begin=nowNum;
if((end-begin)==1) {
System.out.println("找不到符合条件的数组元素的值是"+queryNum);
isContinue=false;
}
}else if(queryNum<a[nowNum]){
//begin=begin;
end=nowNum;
}
}
System.out.println("---------for循环-------------------------------------------");
boolean isFind=false;
for(int i=0;i<a.length;i++) {
if(queryNum==a[i]) {
isFind=true;
System.out.println("查询到下标是"+i+"的数组元素是"+queryNum);
break;
}
}
if(isFind==false) {
System.out.println("找不到符合条件的数组元素的值是"+queryNum);
}
input.close();
}
//打印数组方法
public static void printArray(int[] a) {
int count=0;
for(int i=0;i<a.length;i++) {
System.out.print(a[i]+"\t");
count++;
if(count%10==0) {
System.out.println();
}
}
}
}
运行结果: