Возвращает ошибку : Убедись, что метод compareTo возвращает значение 0, если пляжи по количесву "выигранных" критериев - одинаковые.
P.s.: Воспользовался условием чтобы не округляло на усмотрение языка при приведении типов.
package com.javarush.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;
}
public static void main(String[] args) {
}
@Override
public synchronized int compareTo(Beach o) {
int res1 = this.quality - o.quality;
float res2 = o.distance - this.distance;
if(res2 > 0)
res1++;
else
if(res2 < 0)
res1--;
return res1;
}
}