| 复制代码package com.itheima;
/*
 * 需求: 如果int arr[]={2,5,8,3,5,9};int key=5;
 * 遍历数组,取出的是key第一次出现在数组中的位置。想把所有的5都取出来,要如何实现?
 */
public class Test8 {
        public static void main(String[] args) {
                int arr[] = { 2, 5, 8, 3, 5, 9 };
                int key = 5;
                int index = 0;// key所在的角标
                int start = 0;// 定义变量,从start的角标开始往后查找,初始为0
                while ((index = getFirstIndex(arr, key, start)) != -1) {
                        System.out.println("index: " + index);
                        start = index + 1;
                }
                if (start == 0) {
                        System.out.println("数组中没有要查找的元素key!");
                }
        }
        public static int getFirstIndex(int[] arr, int key, int start) {
                for (int x = start; x < arr.length; x++) {
                        if (key == arr[x]) {
                                return x;
                        }
                }
                return -1;
        }
}
 |