Java 在其他方法内从其他类调用方法

Java 在其他方法内从其他类调用方法,java,arrays,Java,Arrays,我在任何地方都找不到解决方案,所以它就在这里: 一个学校项目说,要使用isEqual(学生)方法,我必须在其中使用hasSameName(个人)。 我创建了两个类,Student和Person,其中boolean hasSameName(Person-persons[])比较数组中的名称,如果找到相同的名称,则返回true,如果没有相同的人,则返回false public class Person{ private String name,surname,address,email,ph

我在任何地方都找不到解决方案,所以它就在这里:

一个学校项目说,要使用
isEqual(学生)
方法,我必须在其中使用
hasSameName(个人)
。 我创建了两个类,
Student
Person
,其中
boolean hasSameName(Person-persons[])
比较数组中的名称,如果找到相同的名称,则返回
true
,如果没有相同的人,则返回
false

public class Person{
    private String name,surname,address,email,phoneNumber;

    public Person(String name,String surname,String address,String email,String phoneNumber) {

        this.name = name;
        this.surname = surname;
        this.address = address;
        this.email = email;
        this.phoneNumber = phoneNumber;

    }
...
...
...

public boolean hasSameName(Person persons[]) {

        boolean flag = false;

        for(int i = 0; i<persons.length; i++) {
            for (int j = i+1; j< persons.length; j++) {
                if((persons[i].getName() == persons[j].getName() && (i!=j))){
                    flag = true;
                }
            }
        }

        if(flag == true)
            return true;
        else
            return false;

    }
任何帮助都将不胜感激。

一个学校项目说,要使用isEqual(学生)方法,我必须使用其中的hasSameName(人)

我假设
hasSameName
方法应该这样实现:

// Person.java

public boolean hasSameName(Person person) {
    if (null == person || null == person.getName())
        return false;
    return person.getName().equals(this.getName());
}
然后,当
Student扩展Person
时,您只需从子类调用parent的方法即可。因此,假设
hasSameName
isEqual
的签名已经固定,
isEqual
可以通过以下方式实现:

// Student.java

public boolean isEqual(Student student) {
    return this.hasSameName(student) && this.studentID == student.getStudentID();
}

您的
hasSameName
方法的含义是什么?它不是应该将当前人员的姓名与给定人员的姓名进行比较吗?检查所有人是否都有相同的名字有什么用?顺便说一句,使用
equals()
而不是
=
来比较对象这个作业说我们需要检查我们制作的数组中是否有相同的人,可以通过检查
name
变量来完成。(老师说)那么,当你在
isEqual
内部调用
hasSameName
时,你应该从哪里获取人员数组??为什么isEqual有两个学生论点——一个学生有名字,另一个学生有ID?您可以创建这两个实例的数组,但为什么呢?你看,我被困在同一个地方,因为这个任务似乎缺乏逻辑。祝你好运掌握Java!
// Student.java

public boolean isEqual(Student student) {
    return this.hasSameName(student) && this.studentID == student.getStudentID();
}