forked from ironhack-labs/lab-java-exceptions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Person.java
70 lines (59 loc) · 1.81 KB
/
Person.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
public class Person {
private int id;
private String name;
private int age;
private String occupation;
// Constructor
public Person(int id, String name, int age, String occupation) {
this.id = id;
this.name = name;
this.setAge(age); // Using the setAge method to enforce age validation
this.occupation = occupation;
}
// Getter for id
public int getId() {
return id;
}
// Getter and Setter for name
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// Getter and Setter for age
public int getAge() {
return age;
}
public void setAge(int age) {
if (age < 0) {
throw new IllegalArgumentException("Age cannot be less than 0");
}
this.age = age;
}
// Getter and Setter for occupation
public String getOccupation() {
return occupation;
}
public void setOccupation(String occupation) {
this.occupation = occupation;
}
// Equals method to compare Person objects excluding the id property
public boolean equals(Person other) {
if (other == null) {
return false;
}
return this.name.equals(other.name) && this.age == other.age && this.occupation.equals(other.occupation);
}
// Method to display Person details (optional, for testing purposes)
public void displayPerson() {
System.out.println("ID: " + id);
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Occupation: " + occupation);
}
@Override
public String toString() {
return "Person{id=" + id + ", name='" + name + "', age=" + age + ", occupation='" + occupation + "'}";
}
}