如何从相同构造函数的其他参数获取参数(java)

时间:2016-10-19 01:58:44

标签: java parameters constructor identify

所以我应该基于相同构造函数的其他参数来识别参数,例如:

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的学生。

2 个答案:

答案 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");