找x
输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。
输入描述:
测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。
输出描述:
对于每组输入,请输出结果。
输入
2
1 3
0
输出
-1
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String n = sc.nextLine();//输入第一个数表示数字个数n
String[] nums = sc.nextLine().split(" ");//输入n个数字,空格分割
String x = sc.nextLine();//输入要找的数字
System.out.println(Arrays.asList(nums).indexOf(x));
}
}
注意:
String n = sc.nextLine();这里输入没有用sc.nextInt();因为nextInt()不会读入回车,遇到回车仅仅作为结束标识,而nextLine()会读入回车。如果这里用了sc.nextInt()那么String n = sc.nextLine();将会读到一个空字符串。
注意这两个用法:
String[] nums = sc.nextLine().split(" ")
;//输入n个数字,空格分割。这地方是为了图方便,真正要写时,需要这样:
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
String[] nums = new String[n];
for(int i=0;i<n;i++){
nums[i] = sc.next();
}
sc.nextLine();
String x = sc.nextLine();//输入要找的数字
System.out.println(Arrays.asList(nums).indexOf(x));
}
- Arrays.asList()返回一个List集合。
Arrays.asList(nums).indexOf(x)
用到List中的indexOf()返回下标。
来源:牛客网