在java中的子程序中添加数组

时间:2014-05-30 00:15:25

标签: java arrays

如果数组中有给定的字符串,我想创建一个子程序来搜索。我希望子程序具有名称和数组的要求。我怎样才能做到这一点?

我的子程序是:

static int findElement(String a, String array){
     for (int i = 0; i < array.size(); i++){
         if (array.get(i).getName().equalsIgnoreCase(a)) {
             System.out.println(i);
             return i;
         }   
         else return 0;
     }        
}

我当然有错误,因为它不接受我插入的数组。

1 个答案:

答案 0 :(得分:2)

这只是一个错字:

static int findElement(String a, String array)

我认为你的意思是:

static int findElement(String a, String[] array)

此外,您的计划还存在多个问题:

for (int i = 0; i < array.size(); i++){
    if (array.get(i).getName().equalsIgnoreCase(a)) {
        System.out.println(i);
        return i;
    }   
    else return 0;
}

您不希望在一个元素不匹配时立即返回,您希望在所有元素不匹配时返回。 0是索引,通常返回-1。要从数组中获取值,请使用括号。字符串没有方法getName()。您可以使用array.length来获取数组的长度。

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

从您的程序中猜测,我假设您错误地输入了参数,并且可能需要类似这样的内容,使用Collection和对象类型:

static int findElement(String a, List<Person> array) {
    for (int i = 0; i < array.size(); i++){
        if (array.get(i).getName().equalsIgnoreCase(a)) {
            return i;
        }   
    }
    return -1;
}