Java 查找数组的索引位置?

Java 查找数组的索引位置?,java,Java,嗨,我写这个方法是为了返回数组的索引位置,但是我一直得到0作为返回值。有人能告诉我为什么吗 public static int indexPosition (int [] intArray, int x) { int index = 0; for (int i = 0; i < intArray.length; i++) { if ( intArray[i] == x) { index = i;

嗨,我写这个方法是为了返回数组的索引位置,但是我一直得到0作为返回值。有人能告诉我为什么吗

public static int indexPosition (int [] intArray, int x)
{
    int index = 0; 

    for (int i = 0; i < intArray.length; i++)
    {
        if ( intArray[i] == x)
        {
            index = i;
        }
    }
    return index;
}
公共静态int-indexPosition(int[]intArray,intx)
{
int指数=0;
for(int i=0;i
这是使用此方法的主要方法的一部分

 for (int i = 0; i < names.length; i++) 
    {
        System.out.println(names[i] + ": " + times[i]);
        System.out.println(indexPosition(times, i));
    }
for(int i=0;i
将默认值从
0
(有效索引)更改为
-1
(以便调用者知道数组中不包含元素)。而且,存储值似乎没有什么目的(如果有匹配的索引,只需返回匹配的索引)。大概

public static int indexPosition (int [] intArray, int x) {
    for (int i = 0; i < intArray.length; i++) {
        if (intArray[i] == x) {
            return i;
        }
    }
    return -1;
}
公共静态int-indexPosition(int[]intArray,intx){
for(int i=0;i
调用此方法时,
intArray
x
的值是多少?有两个条件。。没有匹配,或者匹配发生在第一个元素本身。当match查找到两种可能性时,您可以中断外观:数组中的0位置是匹配的,或者没有匹配(
索引
初始化为0,因此如果没有匹配,您将返回0)。也许您应该将
索引初始化为-1?然后你就会知道没有匹配项,因为匹配项不可能产生-1。它仍然给我-1,我想这意味着我输入参数的方式有问题。你正在测试数字
0
名称。长度
(为什么您认为您的数组
times
包含0,1,2,3或
n
-其中
n
names.length-1
)?@ElliotFrisch,不是0到names.length与0,1,2,3,4,5…n相同,其中n是names.length?@ziggy您正在查找以时间为单位的i的索引。由于得到的是-1,所以它不存在。将其更改为
System.out.println(indexPosition(times,times[i]);
@ziggy
System.out.println(Arrays.toString(times)的结果是什么)