Scanner sc= new Scanner(System.in);
System.out.println("请输入数字个数");
int a=sc.nextInt(); //接收输入的数字 定义为a
int arr[]=new int [a];//开辟一个空间储存数组
for(int i=0;i<arr.length;i++) //输入数组内的数
{
System.out.println("请输入第"+(i+1)+"个数");
arr[i]=sc.nextInt();
}
for(int b=0;b<arr.length-1;b++)
{
for(int c=b+1;c<arr.length;c++)
{
if(arr[b]<arr[c])
{
int d=arr[b];
arr[b]=arr[c];
arr[c]= d;
}
}
}
for(int t : arr)
{
System.out.print(t+" ");
}
System.out.println("请输入需要查找的数字");
int f=sc.nextInt();
int mid;
int max=arr.length-1;
int min=0;
for(;max>=min;)
{
mid=(max+min)/2;//求中间下标
if(arr[mid]==f)
{
System.out.print("恭喜找到数字"+f+" 是第"+(mid+1)+"个数");
break;
}
else
{
if (arr[mid]>f)
{
min=mid+1;
}
else
{
max=mid-1;
}
}
}