Java 在此函数中添加来自参数的搜索值

Java 在此函数中添加来自参数的搜索值,java,arrays,Java,Arrays,这个问题跟在我之前的一个问题之后,就是如何解决这个问题 在@Andreas给我的这个函数中: private static void printFirstIndexOfRepeated(int[] values) { Integer firstIndex = null; Map<Integer, Integer> mapValueToIndex = new HashMap<>(); for (int i = 0; i < values.len

这个问题跟在我之前的一个问题之后,就是如何解决这个问题

在@Andreas给我的这个函数中:

private static void printFirstIndexOfRepeated(int[] values) {
    Integer firstIndex = null;
    Map<Integer, Integer> mapValueToIndex = new HashMap<>();
    for (int i = 0; i < values.length; i++) {
        Integer prevIndex = mapValueToIndex.put(values[i], i); // put() returns old value, or null
        if (prevIndex != null && (firstIndex == null || prevIndex < firstIndex))
            firstIndex = prevIndex;
    }
    if (firstIndex != null)
        System.out.println("First index of repeated: " + firstIndex);
    else
        System.out.println("No repeat found");
}
输出

repeated的第一个索引:1//它查找5并返回数组中repeated 5的最小索引值。

由于我缺乏Map编程知识,我是新手,只知道数组。我需要一些帮助来转换这个函数,并添加另一个参数,如(int number),以确定我要查找的女巫编号,而不是自动确定


所需的一个:
printFirstIndexOfRepeated(int[]值,int number)

因此,由于基本上只需要数组中给定数字第一次出现的索引,因此根本不需要
映射。相反,您可以只使用一个简单的for循环:

private static int printFirstIndexOfRepeated(int[] values,int number) {
    for(int i = 0; i < values.length; i++){
        if(values[i] == number){
            //System.out.println("The first index of " + number + " is " + i);
            return i;
        }
    }
    //System.out.println(number + " is not a member of the array.");
    return -1;
}
私有静态int printFirstIndexOfRepeated(int[]值,int编号){
对于(int i=0;i

此函数返回给定数字的第一个索引,如果找不到该数字,则返回
-1
。您可以取消对
print
行的注释,如果您愿意,也可以获得输出(或者只是删除它们)。

是的,当我输入
number=5
返回1时,您就知道了。当我输入
number=4
时,它返回2(因为它只出现一次)Ok,您希望函数返回一个数字还是只打印结果?如果您输入的数字不在数组中,该怎么办?Hoops,如果数字不在数组中,则管理尚未实现,并且返回索引的函数
private static int printFirstIndexOfRepeated(int[] values,int number) {
    for(int i = 0; i < values.length; i++){
        if(values[i] == number){
            //System.out.println("The first index of " + number + " is " + i);
            return i;
        }
    }
    //System.out.println(number + " is not a member of the array.");
    return -1;
}