Java 查找数组的索引位置?
嗨,我写这个方法是为了返回数组的索引位置,但是我一直得到0作为返回值。有人能告诉我为什么吗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;
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]);
@ziggySystem.out.println(Arrays.toString(times)的结果是什么)
?