首页 > 解决方案 > 如果值在数组中,如何返回索引?

问题描述

如果在数组中找到值,我不知道如何返回索引,如果没有找到,如何返回 -1。我试过这个,但它不起作用。有人可以帮助我吗?提前致谢!

import java.util.Scanner;

public class NM {
    public static void main(String[] args) {

        int[] arraynm = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

        Scanner sc = new Scanner(System.in);

        System.out.print("Enter a number: ");
        int num = sc.nextInt();

        boolean match = false;

        for (int i = 0; i < arraynm.length; i++) {

            if (num == arraynm[i]) {
                match = true;
                return index;
                break;
            }
        }
        if(!match) {
            return -1;
        }
    }

标签: java

解决方案


你可以有这样的方法

 public int indexInArray(final int value, final int[] arr) {
    for (int i = 0; i < arr.length; i++) {
        if (value == arr[i]) {
            return i;
        }
    }
    return -1;
}

或者你可以使用流

int index = IntStream.range(0, arraynm.length).filter(i -> num == arraynm[i]).findFirst().orElse(-1);

推荐阅读