我有一个名为“Person
”的类,其中属性为:姓名、姓氏和年龄。我已经创建了它,它很简单,它仅由 setter 和 getter 组成。但是我还有另一个名为“PersonDatabase
”的类,这对我来说有点复杂。我将在这里展示:
public class PersonDatabase {
private Person[] persons;
private int personCount;
public PersonDatabase(int defaultPersonsCapacity) {
persons = new Person[defaultPersonsCapacity];
personCount = 0;
}
public void addPerson(String name, String surname, int age) {
if (personCount == persons.length) {
System.out.println("Unable to add Person.");
return;
}
persons[personCount] = new Person(name, surname, age);
personCount++;
System.out.println("Person added.");
}
public int getPersonCount() {
return personCount;
}
这就是我到目前为止所拥有的,但我必须在其中创建另外三种方法,一种仅获取姓名,另一种获取姓名,另一种仅获取一个人的年龄。
我基本上知道如何“开始”它们。第一个是:
public Person searchPerson (String name) {
}
第二个和第三个应该是相似的。它们应该具有相同的“数据类型”(Person 类)和名称“searchPerson
”,仅更改它们应该返回的内容,第二个应该返回人员的姓名,第三个应该返回应返回该人的年龄。
你能帮我吗?
最佳答案
这只是人员迭代并检查getName()
。但是对于教育建议,您总是需要检查人名是否可以为 null
,否则 searchPerson 函数将使用 null
参数调用(NullPointerException 对于 java 开发人员来说是非常严重的错误,您老师可以检查你的api)。
public Person searchPerson (String name) {
for (Person person: persons) {
if (name != null && name.equals( person.getName())) {
return person;
}
}
System.out.println("We can not found Person with name " + name);
return null;
}
关于java - 三种方法搜索: name; name and surname; and age in an array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53763442/