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

Java 如果值在数组中,如何返回索引?,java,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.i

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

你可以有这样的方法

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

您可以通过这样做返回

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

为什么它不起作用?怎么了?首先,您试图在void方法中返回int。你想把答案转到控制台吗?什么是索引?您也不需要match flag.IntStream.range0、arraynm.length.filteri->arraynm[i]==num.findFirst.orElse-1
java.util.Arrays.asList(arraynm).indexOf(num);