Ich muss die angegebenen Codes verwenden und sie so ändern, dass anstelle der Rückgabe von Ergebnissen durch Vergleich von Scores die eingegebenen Daten mit den Namen in alphabetischer Reihenfolge zurückgegeben werden. HierWie benutzt man compareTo, um Strings zu vergleichen, um Namen in alphabetischer Reihenfolge statt in Scores zu erhalten?
ist die ZIP FILE
Hier sind meine Ergebnisse, wenn ich die GolfApp2-Datei ausführen:
----jGRASP exec: java GolfApp2
Golfer name (press Enter to end): Annika
Score: 72
Golfer name (press Enter to end): Grace
Score: 75
Golfer name (press Enter to end): Arnold
Score: 68
Golfer name (press Enter to end): Vijay
Score: 72
Golfer name (press Enter to end): Christie
Score: 70
Golfer name (press Enter to end):
The final results are
68: Arnold
70: Christie
72: Vijay
72: Annika
75: Grace
----jGRASP: operation complete.
Hier ist, was ich in der Golfer-Datei geändert haben:
public int compareTo(Golfer other)
{
if (this.name.compareTo(other.getName()))
return -1;
else
if (this.name == other.name)
return 0;
else
return +1;
}
Ich bin verwirrt auf, wie man es ändert, damit anstelle von ...
public int compareTo(Golfer other)
{
if (this.score < other.score)
return -1;
else
if (this.score == other.score)
return 0;
else
return +1;
}
... es würde die Namen vergleichen.
'this.name == other.name' ist eine sehr schlechte Art und Weise zu vergleichen' String's nach Wert. Verwenden Sie stattdessen '.equals()'. Noch besser, verwenden Sie 'this.name.compareTo (other.name)' direkt. –