在单独的类中使用对象的属性来确定它是否在那里

时间:2013-12-11 06:24:41

标签: java

我正在尝试检查用户的输入是否是不同方法属性的对象的一部分。换句话说,我要求用户输入名称,我想检查该名称是否作为人的属性存在。我在person类中有一个方法来检查名称是否存在,但我不确定如何执行该方法。

我的第一堂课:

userInput = "xxx";
if(????? == -1){
    System.out.println("Person is nowhere to be found :(");
}

第二课:

int FindPersonName(String person)
{
    for (int i = 0 ; i < totalPersonCount ; i++)
    {
        if (person[i].getName().equals(person))
            {
            System.out.println(person[i].getName());
            return person[i].getName() //Defined elsewhere
            }
    }

    System.out.println(person + " does not exist in person list.");
    return -1;
}

所以我的问题是这样的:????对于头等舱?

编辑:现在收到错误,说非静态方法无法从非静态上下文中引用?

再次编辑:谢谢大家:D使FindBoatNames方法成为静态,并且在if语句中做了Fleet.FindBoatNames(userInput)== -1,并且它工作得很完美。

4 个答案:

答案 0 :(得分:2)

如果他们在同一个班级

if(FindPersonName(userInput ) == -1){

}

或不同的类,不是静态方法,您需要创建一个对象。

喜欢

 if(new ClassOfThatMethod().FindPersonName(userInput) == -1){

    }

P.S。遵循java命名约定,方法名称以小写字母开头。 FindPersonName应为findPersonName

答案 1 :(得分:2)

这样做

if(obj.FindPersonName(userInput)==-1){

}

或者将FindPersonName()方法设为静态,并调用如下

if(FindPersonName(userInput)==-1){

}

答案 2 :(得分:0)

这个怎么样:

userInput = "xxx";
if(findPersonByName(userInput) == -1){
     System.out.println("Person is nowhere to be found :(");
} else {
     System.out.println("Person found with id");
}

但是你需要在第二个类中返回另一个大于-1的整数:

int FindPersonName(String person)
{
    for (int i = 0 ; i < totalPersonCount ; i++)
    {
        if (person[i].getName().equals(person))
            {
                 System.out.println(person[i].getName());
                 return 1;
            }
    }

    System.out.println(person + " does not exist in person list.");
    return -1;
}

答案 3 :(得分:0)

你需要这个

if(FindPersonName(userInput ) == -1){

}

但还有一件事int FindPersonName(String person)将始终返回-1

您应该以这种方式更改FindPersonName(String person)

int FindPersonName(String person)
{    

    for (int i = 0 ; i < totalPersonCount ; i++)
    {
        if (person[i].getName().equals(person))
            {
            System.out.println(person[i].getName());
             return 1;// return something positive if person found
            }
    }

    System.out.println(person + " does not exist in person list.");
    return -1;
}