В результате получаю
0
-2
Для разных объектов разные значения.
Подскажите, пожалуйста, в чем ошибка.
package com.javarush.task.task17.task1714;
/*
Comparable
*/
public class Beach implements Comparable<Beach> {
@Override
public synchronized int compareTo(Beach otherBeach) {
int distanceResult;
int qualityResult;
int overallResult;
distanceResult = Float.compare(this.getDistance(), otherBeach.getDistance());
qualityResult = Integer.compare(this.getQuality(), otherBeach.getQuality());
System.out.println(qualityResult);
overallResult = (int) distanceResult + qualityResult;
System.out.println(overallResult);
return overallResult;
}
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) {
Beach beach1 = new Beach("First", 2, 10);
Beach beach2 = new Beach("Second", 5, 6);
Beach beach3 = new Beach("Third", 1, 7);
beach1.compareTo(beach2);
beach3.compareTo(beach1);
}
}