当前位置 博文首页 > 邱天的henry的博客:蓝桥杯:基础练习 查找整数(java实现)

    邱天的henry的博客:蓝桥杯:基础练习 查找整数(java实现)

    作者:[db:作者] 时间:2021-07-19 13:21

    问题描述 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。

    输入格式
    第一行包含一个整数n。

    第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。

    第三行包含一个整数a,为待查找的数。

    输出格式
    如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
    样例输入
    6
    1 9 4 8 3 9
    9
    样例输出
    2
    数据规模与约定
    1 <= n <= 1000。

    import java.util.Scanner;
    
    public class Main {
    	/* 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。 */
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
            int n=sc.nextInt();
            //定义boolean类型的数据flag来存放数据是否存在,为后面的判断做准备(不定义状态如果没有数据的话不好判断)
            Boolean flag=false;   //默认为false(没有查找的目标数据)
            //定义数组并进行遍历然后存入控制台输入的数据
            int []arr=new int[n];
            for(int i=0;i<n;i++) {
            	arr[i]=sc.nextInt();
            }
            //获取目标对象
            int target=sc.nextInt();
            //遍历数组并进行判断
            for(int i=0;i<n;i++) {
            	if(arr[i]==target) {
            		flag=true;
            		System.out.println(i+1);  //注意数组的角标从0开始,所有加一
            		break;           //跳出循环,防止后面在此查询此目标数据
            	}
            }
            //判断有没有目标
            if(flag==false) {
            	System.out.println("-1");
            }
    	}
    }
    
    

    ps:此题需注意定义一个boolean类型的数据来存放是否有目标数据的状态(题目要求没有目标数据时输出-1)

    cs