题目描述
输入一个长度为m的整数数组alist,采用Arrays类sort方法实现数组的从小到大排序后输出; 输入一个整数k,采用Arrays类的binarySearch方法输出整数k在alist数组中的下标(排序后),如果k不在alist数组中则输出-1 。
输入
输入整数m,然后输入m个整数,再输入整数k
输出
输出m个整数的从小打大排序(按“%4d”格式输出数组元素);换行在输出k在alist数组中的下标(按“%4d”格式)。
样例输入
9 9 6 3 5 8 7 4 2 114 3
样例输出
2 3 4 5 6 7 8 9 114 1
函数:Arrays.binarySearch(数组, 查找的目标值) ;若数组中存在目标值则输出目标值对应的下标,若不存在,则返回一个负数。
代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int m = reader.nextInt();
int []alist = new int[m];
for(int i=0;i<m;i++) {
alist[i] = reader.nextInt();
}
int k = reader.nextInt();
Arrays.sort(alist);
for(int i=0; i<m; i++) {
System.out.printf("%4d",alist[i]);
}
System.out.println();
if(Arrays.binarySearch(alist, k)>=0) {
System.out.printf("%4d",Arrays.binarySearch(alist, k));
}
else {
System.out.print(" -1");
}
}
}