蓝桥杯试题 基础练习 BASIC-5 查找整数 JAVA——冲刺蓝桥杯第四天

试题 基础练习 查找整数

资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。

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

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

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

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

要点:

分清楚returnbreak的用法
1. return:跳出main方法
2. break:跳出for循环

一、return版代码

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] array = new int[n];
        for (int i = 0; i < n; i++) {
            array[i] = sc.nextInt();
        }
        int a = sc.nextInt();
        sc.close();
        for (int i = 0; i < n; i++) {
            if (array[i] == a) {
                System.out.println(i + 1);
                return;
            }
        }
        System.out.println(-1);
    }
}

二、break版代码

break代码必须定义一个变量当做判断的条件

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] array = new int[n];
        for (int i = 0; i < n; i++) {
            array[i] = sc.nextInt();
        }
        int a = sc.nextInt();
        sc.close();

		//以下位break版代码和return代码不同之处,break代码必须定义一个变量当做判断的条件
        boolean flag = false;
        for (int i = 0; i < n; i++) {
            if (array[i]==a) {
                System.out.println(i + 1);
                flag = true;
                break;
            }
        }
        if (!flag) {
            System.out.println(-1);
        }
    }
}
posted @ 2020-03-16 23:06  爱做梦的子浩  阅读(145)  评论(0编辑  收藏  举报