X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FSize.java;h=6946e5a8967e2358072fccd1fb7fa13e619e9f9d;hb=62e26730c12aa80689e068908090d801869ab701;hp=0cecada6c98192f7cfa94f874f937e1fe9831276;hpb=9749119587561f5848349b7a1b9e7d9342944f0d;p=Persons_Comparator.git diff --git a/src/Size.java b/src/Size.java index 0cecada..6946e5a 100644 --- a/src/Size.java +++ b/src/Size.java @@ -1,9 +1,11 @@ - -public class Size { +public class Size implements Comparable { private int max = 240; private int min = 20; private int size; + Size() { + } + Size(int size) { setSize(size); } @@ -15,10 +17,22 @@ public class Size { public void setSize(int size) { if (validateSize(size)) { this.size = size; - } /* FIXME: raise an error */ + } else { + throw new IllegalArgumentException("Size must be between " + this.min + " and " + this.max); + } } private boolean validateSize(int size) { - return (size > max || size < min); + return (size >= min && size <= max); + } + + @Override + public int compareTo(Size size) { + int distance = size.getSize() - this.getSize(); + if (distance >= 0) + return distance; + else + return -distance; + } }