X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FPerson.java;h=5d9d812924ec1daf2c66351c4f90272a397e7bce;hb=5687dc10a68b52d28b63151d8c16a45775ef2e77;hp=9c30e56c9e4e5d3055f7e1bea97466520a86597a;hpb=6977e6142a133673703769e092e6283dda73cf4f;p=Persons_Comparator.git diff --git a/src/Person.java b/src/Person.java index 9c30e56..5d9d812 100644 --- a/src/Person.java +++ b/src/Person.java @@ -1,18 +1,29 @@ import java.util.Comparator; -public class Person implements Comparable, Comparator { +public class Person implements Comparator { private Firstname firstname; private Origin origin; private Size size; private Weight weight; private Eye eye; + private Integer distanceFromReference; - Person(Firstname firstname, Origin origin, Size size, Weight weight, Eye eye) { - setFirstname(firstname); - setOrigin(origin); - setPersonSize(size); - setWeight(weight); - setEye(eye); + Person() { + setFirstname(new Firstname()); + setOrigin(new Origin()); + setPersonSize(new Size()); + setWeight(new Weight()); + setEye(new Eye()); + setDistanceFromReference(0); + } + + Person(String firstname, String country, Integer size, Integer weight, String colorEye) { + setFirstname(new Firstname(firstname)); + setOrigin(new Origin(country)); + setPersonSize(new Size(size)); + setWeight(new Weight(weight)); + setEye(new Eye(colorEye)); + setDistanceFromReference(0); } public void setFirstname(Firstname firstname) { @@ -55,15 +66,34 @@ public class Person implements Comparable, Comparator { return eye; } + public void setDistanceFromReference(Integer distanceFromReference) { + this.distanceFromReference = distanceFromReference; + } + + public Integer getDistanceFromReference() { + return distanceFromReference; + } + @Override - public int compareTo(Person person) { - return this.firstname.compareTo(person.getFirstname()) + this.origin.compareTo(person.getOrigin()) - + this.size.compareTo(person.getPersonSize()) + this.weight.compareTo(person.getWeight()) - + this.eye.compareTo(person.getEye()); + public String toString() { + return "Person{" + + "firstname=" + firstname.getFirstname() + + ", origin=" + origin.getCountry() + + ", size=" + size.getSize() + + ", weight=" + weight.getWeight() + + ", eye=" + eye.getStrColor() + "(" + this.getEye().getColor().getRed() + "," + this.getEye().getColor().getGreen() + "," + this.getEye().getColor().getBlue() + ")" + + ", distanceFromReference=" + this.getDistanceFromReference() + + '}'; + } + + public Integer distanceTo(Person person) { + return this.getFirstname().distanceTo(person.getFirstname()) + this.getOrigin().distanceTo(person.getOrigin()) + + this.getPersonSize().distanceTo(person.getPersonSize()) + this.getWeight().distanceTo(person.getWeight()) + + this.getEye().distanceTo(person.getEye()); } @Override - public int compare(Person person, Person t1) { - return 0; + public int compare(Person p1, Person p2) { + return p1.getDistanceFromReference().compareTo(p2.getDistanceFromReference()); } }