- 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;
- }
- }
复制代码 |