извините, если мой вопрос выглядит очень глупо. Я получаю сообщение об ошибке .compareTo() Не удается вызвать compareTo (double) в двойном примитиве типа double! Как я могу это исправить ? Спасибо! Класспримитивный тип двойной ошибки
Автомобиль:
public class Vehicle implements IOutput {
private double cost;}
public double getCost(){
return cost;
}
Массив Класс:
public static void sortByVehicleMakeModel(Vehicle[] vehicles) {
boolean swapped = true;
for(int y = 0; y < vehicles.length && swapped; y++) {
swapped=false;
for(int x = 0; x < vehicles.length - (y+1); x++) {
if(vehicles[x].getCost().compareTo(vehicles[x + 1].getCost()) > 0){
swap(vehicles, x, x + 1);
swapped=true;
}
}
}
}
моих кодов работает отлично:
public static void sortByOwnerName(Vehicle[] vehicles) {
boolean swapped = true;
for(int y = 0; y < vehicles.length && swapped; y++) {
swapped=false;
for(int x = 0; x < vehicles.length - (y + 1); x++) {
if(vehicles[x].getOwner().getName().compareTo(vehicles[x + 1].getOwner().getName())> 0) {
swap(vehicles, x, x + 1);
swapped=true;
}
}
}
}
делает 'getCost()' возвращает 'double' или' Double'? Из сообщения об ошибке, я думаю, «Двойной», и проблема заключается в отсутствии «> 0». Но давайте дважды проверь! –
@AndrewLazarus: В сообщении об ошибке говорится: «... Невозможно вызвать compareTo (double) ** для примитивного типа double **». –
Глупый вопрос, и вне темы, но почему вы делаете пузырь? –