Hallo,
auf einem Übungsblatt soll durch Eingabe von Menge und Gesamtpreis ein Array nach dem Stückpreis sortiert werden. Teile des fertigen Programmes sind bereits vorgegeben. Das Array besteht aus Objekten, die initialisiert werden durch die Eingabe Menge und Gesamtpreis. Aufgabe ist es nun gewesen, eine Klasse Prices zu programmieren, welche das Interface Comparable implementiert, sodass der Vergleich anhand des Stückpreises gemacht wird.
Also man hat drei Klassen: Eine Klasse Preis, eine Klasse mit main-methode TestPreis und eine Klasse SomeUtilties.
In der Main Methode wird das Objekt Array Preis angelegt. Für die Klasse Preis wird ein Konstruktor benötigt, welcher die zwei EIngaben Menge und Gesamtpreis verarbeitet.
In der Klasse SomeUtilties ist eine Methode selectionSort zu programmieren. "Zum Sortieren werden die Methoden selectionSort und Arrays.Sort verwendet."
Es wurde bereits ein Teilstück des Programmes vorgegeben, Teile mussten also noch ersetzt werden. Mein Programm läuft, und es gibt die selbe Ausgabe wie in der Beispielausgabe auf dem Übungsblatt aus.
Nur stellt sich mir eine Frage: In der Methode selectionSort der Klasse SomeUtilities habe ich folgende for Schleife:
Ich möchte nicht zu viel von meinem Programm zeigen, da ich es ja abgeben muss. Ich rufe also die compareTo Methode der Klasse Preis auf. Dort habe ich dann einfach hingeschrieben: return 1, falls Objekt ... größer als Objekt ...
Nun ja, ich habe die forSchleife auskommentiert, sodass die compareTo Methode überhaupt nicht aufgerufen wird. Im Moment bekommt mein Programm bzw. die Methode selectionSort lediglich das Objekte-Array a und sortiert dies anscheinend korrekt. Eigentlich brauche ich doch dann gar keine compareTo Methode, bzw. meine Frage wäre nun:
Was macht Arrays.Sort()?
auf einem Übungsblatt soll durch Eingabe von Menge und Gesamtpreis ein Array nach dem Stückpreis sortiert werden. Teile des fertigen Programmes sind bereits vorgegeben. Das Array besteht aus Objekten, die initialisiert werden durch die Eingabe Menge und Gesamtpreis. Aufgabe ist es nun gewesen, eine Klasse Prices zu programmieren, welche das Interface Comparable implementiert, sodass der Vergleich anhand des Stückpreises gemacht wird.
Also man hat drei Klassen: Eine Klasse Preis, eine Klasse mit main-methode TestPreis und eine Klasse SomeUtilties.
In der Main Methode wird das Objekt Array Preis angelegt. Für die Klasse Preis wird ein Konstruktor benötigt, welcher die zwei EIngaben Menge und Gesamtpreis verarbeitet.
In der Klasse SomeUtilties ist eine Methode selectionSort zu programmieren. "Zum Sortieren werden die Methoden selectionSort und Arrays.Sort verwendet."
Es wurde bereits ein Teilstück des Programmes vorgegeben, Teile mussten also noch ersetzt werden. Mein Programm läuft, und es gibt die selbe Ausgabe wie in der Beispielausgabe auf dem Übungsblatt aus.
Nur stellt sich mir eine Frage: In der Methode selectionSort der Klasse SomeUtilities habe ich folgende for Schleife:
Java:
for(int i=0; i<a.length; i++){/*
int min = i;
for(int j=i+1; j<a.length; j++){
if(a[i].compareTo(a[j])==1){
min = j;
}
}*/
Arrays.Sort(a);
}
Nun ja, ich habe die forSchleife auskommentiert, sodass die compareTo Methode überhaupt nicht aufgerufen wird. Im Moment bekommt mein Programm bzw. die Methode selectionSort lediglich das Objekte-Array a und sortiert dies anscheinend korrekt. Eigentlich brauche ich doch dann gar keine compareTo Methode, bzw. meine Frage wäre nun:
Was macht Arrays.Sort()?