//Main.
java
public class Main {
public static void main(String[] args) {
Student s1 = new Student("182342356", "Agatha", "Engineering", 18);
Student s2 = new Student("182342356", "Kao", "Engineering", 19);
Student s3 = new Student("182342359", "Mikael", "Music", 20);
System.out.println(s1);
System.out.println(s2);
if(s1.equals(s2)) {
System.out.println("the student numbers of s1 and s2 are equal");
} else {
System.out.println("the student numbers of s1 and s2 are not equal");
}
System.out.println("s1 hashCode: " + s1.hashCode());
System.out.println("s2 hashCode: " + s2.hashCode());
System.out.println("s3 hashCode: " + s3.hashCode());
}
}
//Student.java
import java.util.Objects;
public class Student {
private String studentNumber;
private String name;
private String faculty;
private int age;
public Student(String studentNumber, String name, String faculty, int age) {
this.studentNumber = studentNumber;
this.name = name;
this.faculty = faculty;
this.age = age;
}
public String getStudentNumber() {
return studentNumber;
}
public String getName() {
return name;
}
public String faculty() {
return faculty;
}
public int getAge() {
return age;
}
@Override
public boolean equals(Object obj) {
Student s = (Student) obj;
return studentNumber.equals(s.studentNumber);
}
@Override
public int hashCode() {
return Objects.hash(studentNumber);
}
@Override
public String toString() {
String hiddenNum = studentNumber.substring(0, 2) + "******" +
studentNumber.charAt(studentNumber.length() - 1);
return "Student Number: " + hiddenNum;
}
}