直接上代码,最后都转换为下标问题
public static void main(String[] args) {
int[] array=new int[5];
array[0]=3;
array[1]=2;
array[2]=4;
array[3]=8;
array[4]=3;
System.out.println("数组为:");
System.out.println(Arrays.toString(array));
System.out.println("知位置求值:");
Scanner scanner=new Scanner(System.in);
int sc=scanner.nextInt();
System.out.println("该位置的值为:");
System.out.println(array[sc-1]);
System.out.println("知值求位置:");
Scanner scanners=new Scanner(System.in);
int scs=scanners.nextInt();
System.out.println("该值所在的第一个位置为:");
System.out.println(Arrays.binarySearch(array,scs)+1);
System.out.println("该值所在的所有位置为:");
for(int i=0;i< array.length;i++){
if (scs==array[i]){
System.out.print("\t");
System.out.print(i+1);
}
}
}
结果如下
小白上线,有错请指正