Hallo Forum,
irgendwie habe ich das Gefühl, dass ich die Methode compareTo in diesem Fall nicht richtig einsetze ich bekomme nicht das kürzeste Wort zurück....
Was mache ich falsch?
Wenn ich
definiere bekomme ich folgende
Eigentlich würde ich aber folgende Ausgabe erwarten:
Was mache ich falsch????
Vielen Dank für alle Hinweise. Schönen Abend.
irgendwie habe ich das Gefühl, dass ich die Methode compareTo in diesem Fall nicht richtig einsetze ich bekomme nicht das kürzeste Wort zurück....
Was mache ich falsch?
Java:
public class Main {
/**
* @param args the command line arguments
*/
public static Object getSmallest(Comparable[] objects){
Object smallest = objects[0];
for(int i = 1; i < objects.length; ++i){
if(objects[i].compareTo(smallest) < 0){
smallest = objects[i];
}
}
return smallest;
}
public static void bubbleSort(Comparable[] objects){
boolean sorted;
do{
sorted = true;
for(int i = 0; i < objects.length - 1; ++i){
if(objects[i].compareTo(objects[i +1 ]) > 0){
Comparable tmp = objects[i];
objects[i] = objects[i + 1];
objects[i + 1] = tmp;
sorted = false;
}
}
} while (!sorted);
}
public static void main(String[] args){
//Erzeugen eines String-Arrays
Comparable[] objects = new Comparable[4];
objects[0] = "strings";
objects[1] = "sind";
objects[2] = "paarweise";
objects[3] = "vergleichbar";
//Ausgeben des kleinsten Elements
System.out.println((String)getSmallest(objects));
System.out.println("-");
//Sortieren und Ausgeben
bubbleSort(objects);
for (int i = 0; i < objects.length; i++){
System.out.println((String)objects[i]);
}
}
}
Ausgabe:
paarweise
-
paarweise
sind
strings
vergleichbar
Wenn ich
Java:
objects[0] = "Strings"; //Strings mit grossem S
Ausgabe:
Strings
-
Strings
paarweise
sind
vergleichbar
Eigentlich würde ich aber folgende Ausgabe erwarten:
Ausgabe:
sind
-
sind
Strings
paarweise
vergleichbar
Was mache ich falsch????
Vielen Dank für alle Hinweise. Schönen Abend.