如果值在数组中,如何返回索引?

时间:2019-02-07 20:23:18

标签: java

如果在数组中找到值,我不知道如何返回索引;如果找不到值,我不知道如何返回-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;
        }
    }

2 个答案:

答案 0 :(得分:3)

您可以使用类似的方法

 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);

答案 1 :(得分:0)

您可以通过此操作返回。

java.util.Arrays.asList(arraynm).indexOf(num);