所以我应该基于相同构造函数的其他参数来识别参数,例如:
public Student(String n, int sN, int hN){
this.name = n;
this.streetNum = sN;
this.houseNum = hN;
}
将为主类提供所有填充的参数,
Student a = new Student("Abigail", 1, 5);
所以我需要弄清楚如何找到这个名字"阿比盖尔"来自streetNum 1和houseNum 5的学生。
答案 0 :(得分:0)
您可以提供一个实用程序类,通过一个获取属性和学生数组的方法来实现。可能需要进行额外检查。
public class Students {
public static String findStudentName(int sN, int hN, Student[] students) {
for (Student s : students) {
if (s.getSN() == sN && s.getHN() == hN) {
return s.getName();
}
}
return null;
}
}
上面的代码将返回带有匹配属性的第一个学生的名字,否则返回null。
答案 1 :(得分:0)
您可以在学生班中包含以下方法
public static Student getStudent(Student[] students, String sName, int streetNum, int houseNum) {
for (Student student : students) {
if (sName.equals(student.getName()) && student.getStreetNum() == streetNum
&& student.getHouseNum() == houseNum) {
return student;
}
}
return null;
}
并按照下面的说法进行操作
Student[] students = ...// student array
Student s = Student.getStudent(students, "Abigail", 1, 5);
System.out.println(s != null ? s.getName() : "No match found");