Нам было дано задание:
- отсортировать список массивов по длине хвоста собаки (double)
- , если две или более собак имеют одинаковую длину хвоста, отсортировать ихпо имени
Мне удалось создать код, НО правильные результаты не отображаются во время первой распечатки.Я должен повторить попытку, чтобы сортировка действительно произошла.
Я очень новичок в программировании, и это меня смущает.Есть идеи?Спасибо!
private void listDogs() {
boolean length = false;
for (int i = 0; i < dogs.size(); i++) {
length = true;
}
if (dogs.isEmpty()) {
System.out.println("Error: no dogs in register");
}else {
System.out.println("Please enter the tail lenght minimum: ");
double tailLength = scan.nextDouble();
scan.nextLine();
Collections.sort(dogs);
for (int i = 0; i < dogs.size(); i++) {
if (dogs.get(i).getTailLength() >= tailLength) {
System.out.println(dogs.get(i));
length = true;
}
}
if (length == false) {
System.out.println("Error: No dog is registered with this tail length.");
}
@Override
public int compareTo(Dog o) {
// TODO Auto-generated method stub
int compare = Double.compare(tailLength, o.tailLength);
if (compare == 0) {
compare = Double.compare(tailLength, o.tailLength);
}
if (compare == 0) {
compare = name.compareTo(o.name);
}
return compare;
}