Java 用户在数组中输入10个数字,我如何编写代码来查找该数字并输出它在数组中的位置?

Java 用户在数组中输入10个数字,我如何编写代码来查找该数字并输出它在数组中的位置?,java,Java,Java中的数组非常新,但我要解决的问题是: 在main方法中,提示用户输入十个数字并存储 他们排成一列。编写一个名为find的方法,返回位置 数组中某个特定数字的第一次出现。如果 数字不在列表中,您的方法应返回-1。从主要, 提示用户输入号码,调用find方法,然后显示 将结果从main发送给用户。如果方法返回-1,请通知 用户确认号码不在列表中。不要与用户交互 findmethod中的用户。您的方法的签名必须是: 公共静态int findint[]arr,int thingToFind 输出

Java中的数组非常新,但我要解决的问题是:

在main方法中,提示用户输入十个数字并存储 他们排成一列。编写一个名为find的方法,返回位置 数组中某个特定数字的第一次出现。如果 数字不在列表中,您的方法应返回-1。从主要, 提示用户输入号码,调用find方法,然后显示 将结果从main发送给用户。如果方法返回-1,请通知 用户确认号码不在列表中。不要与用户交互 findmethod中的用户。您的方法的签名必须是: 公共静态int findint[]arr,int thingToFind

输出示例:

 Enter ten numbers: 18 14 82 17 2 14 6 2 18 4
 What number would you like me to find? 2
 2 first occurs in the 5th place in the list.

 Enter ten numbers: 4 19 0 41 ­2 ­7 7 14 41 100
 What number would you like me to find? 99
 99 is not in the list.
我知道find方法中需要一个循环,但不确定是哪一个,我正在考虑for循环,但不确定如何实现它。这是我现在的代码,是的,我知道我遗漏了很多,这只是开始。不知道从这里到哪里去

   public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.println("Enter 10 numbers ");
    int n = in.nextInt();
    int arr[] = new int[n];
  }

   public static int find(int[] arr, int thingToFind){

     }

   }

这将返回thingToFind的索引,如果找不到thingToFind,则返回-1

 public static int find(int[] arr, int thingToFind){
  int i;
  for(i = 0; i < arr.length(); i++){
    if(arr[i] == thingToFind){
      return i;
    }
  }
  return -1;
}
}
}你还有路要走。你知道你有十个数字,所以你可以写

int arr[] = new int[10];
在你阅读任何数字之前。 此外,您还需要一个循环来读取您的数字。你可以直接写

arr[0] = in.nextInt();
arr[1] = in.nextInt();
arr[2] = in.nextInt();

以此类推,但您可以做得更好,对吗?

您将需要一个for循环,正如您所说的,因为您可以使用通常为int i=0的索引来访问正在迭代的数组的元素。在每个循环中,检查i处的元素是否是您要查找的数字。如果是,请返回i。循环结束后,返回-1,因为只有在没有找到数字的情况下才能到达该部分

您可能需要的一些东西:

arr.length是数组的大小 arr[i]是位置i处的元素
我认为你的方法应该是这样的

  public static int find(int[] arr, int thingToFind){


        for(int i = 0;i<arr.length;i++){
            if(arr[i]==thingToFind){
                return i+1;
            }
        }
        return -1;

    }
我更喜欢避免单行函数! 返回数组中值的索引,如果未找到,则返回-1,或者返回空数组输入[1]

public static int find(int[] arr, int tofind) {
     return ArrayUtils.indexOf(arr, tofind);
}
[1]

public static int find(int[] arr, int tofind) {
     return ArrayUtils.indexOf(arr, tofind);
}