Je n'arrive pas a comprendre pourquoi la tâche ne se valide pas. après avoir longtemps cherché j'ai décidé de regardé la solution (ligne 50) et je l'a comprends pas. Pourquoi utiliser des nombres magiques comme 1000 et 100 ? ils correspondent à quoi ? pourquoi utiliser la variable name alors qu'elle est exclu de la validation ?
(L 54 - 59) : mes tests debbug
package fr.codegym.task.task17.task1714;
/*
Comparable
*/
public class Beach implements Comparable<Beach> {
private String name;
private float distance;
private int quality;
public Beach(String name, float distance, int quality) {
this.name = name;
this.distance = distance;
this.quality = quality;
}
public synchronized String getName() {
return name;
}
public synchronized void setName(String name) {
this.name = name;
}
public synchronized float getDistance() {
return distance;
}
public synchronized void setDistance(float distance) {
this.distance = distance;
}
public synchronized int getQuality() {
return quality;
}
public synchronized void setQuality(int quality) {
this.quality = quality;
}
@Override
public synchronized int compareTo(Beach o) {
int distanceDelta = (int) (distance - o.getDistance());
int QualityDelta = quality - o.getQuality();
return QualityDelta + distanceDelta;
// return 10000 * name.compareTo(o.getName()) + 100 * distanceDelta + distanceDelta;
}
public static void main(String[] args) {
// Beach bestBeach = new Beach("Best Beach", 4.0f, 10);
// Beach worstBeach = new Beach("Worst Beach", 3.0f, 1);
// int a = bestBeach.compareTo(worstBeach);
// System.out.println(a);
// int b = worstBeach.compareTo(bestBeach);
// System.out.println(b);
}
}