如何在数组中找到元素的索引?

时间:2016-09-29 07:17:00

标签: java arrays indexing

import java.util.Scanner;
public class Lab6a
{
    public static void main (String args[])
    {
        int a[] = {34, 29, 16, 3};
        for (int i=0; i>=0; i--)
        {
            System.out.println("a[i] = " + a[1]);
        }
    }
}

这将打印出来29.我需要一种方法来搜索我的数组29并返回它的索引,然后将索引存储为整数

5 个答案:

答案 0 :(得分:0)

您可以找到特定值的索引。!

Integer[] array = {1,2,3,4,5,6};

Arrays.asList(array).indexOf(4);

并在代码中更改for循环

for (int i = 0; i < array.length; i++)

 for (int i = array.length -1 ; i>=0; i--)

答案 1 :(得分:0)

import java.util.Scanner;
    public class Lab6a
    {
        public static void main (String args[])
        {
            int i;
            int a[] = {34, 29, 16, 3};
            for (i=0; i<=3; i++)
            {
                System.out.println("a[i] = " + i);
            }
        }
    }

你也可以在需要的位置写for(i=0;i<a.length;i++)。这将从0 to length - 1(i.e 4)迭代。

注意:length()是java.lang.String上的一个方法,仅适用于数组。但是如果你使用的是arraylists之类的集合,你也可以使用size()这是{{1}中指定的方法实际上java.util.Collection可以很好地迭代对象,并且与size不同,它主要用于常量。

答案 2 :(得分:0)

如果您想保留阵列,可以尝试这样的事情。

int a[] = {34, 29, 16, 3};
int i=0;
while (i<a.length)
{
    if(a[i] == 29) {
        System.out.println("index of 29 is " + i);
        break;
    }
    i++;
}

答案 3 :(得分:0)

import java.util.Scanner;
public class Lab6a
{
    public static void main (String args[])
    {
        int a[] = {34, 29, 16, 3}; // the array
        for (int i = 0; i < a.length; i++) // check for each position in array
        {
            System.out.println(a[i] + " = " + a.indexOf(a[i])); // 34 = 0, 29 = 1 etc.
        }
    }
}

答案 4 :(得分:0)

据我了解,您有几个代码错误。试试这段代码(把它放在你的主函数中)。最有可能的是,它应该可以正常工作。

int a[] = {34, 29, 16, 3};
int index = -1;
for (int i = 0; i < a.length; i++)
{
    if (a[i] ==  29)
    {
        index = i;
        System.out.print("a[" + i + "] = " + a[i]);
    }
}
if (index == -1)
    System.out.print("Such array element not found.")

index变量将存储您找到的元素的索引值。如果找不到,-1将存储在那里。