问题描述
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
输入格式
第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
输出格式
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
样例输入
6
1 9 4 8 3 9
9
1 9 4 8 3 9
9
样例输出
2
数据规模与约定
1 <= n <= 1000。
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner reader = new Scanner(System.in);
int a[]=new int[1000];
int num=0,find_num;
int i;
int flag=-1;//用来标记所需要寻找的数字的位置
num = reader.nextInt();
for(i=0;i<num;i++){
a[i]=reader.nextInt();
}
find_num=reader.nextInt();
for(i=0;i<num;i++) {
if(a[i]==find_num) {
flag=i+1;
break;
}
}
System.out.println(flag);
}
}
第一次做这道题时没有考虑到查找的数并不在数组中,提交了当然错了,第二次考虑到了查找不到的时候,然而草率地在函数后面加了一句,没想到错的更离谱了,原来是这样会在每一句的后面加一个 -1 ,哈哈哈,重新想了一次还是加上 flag 好。恩,就这样了。