Programmierung kürzen???

Murmeltier1985

Aktives Mitglied
Hallo,
ich hab zusammen mit einem Freund eine Programmierung zu folgender Aufgabenstellung geschrieben:

Schreiben Sie eine Klasse BookSorter. Die main-Methode dieser Klasse soll folgende
Schritte durchlaufen:

1. Erst sollen die Daten von drei Büchern abgefragt und in Objekten der Klasse
Book abgespeichert werden (nutzen Sie dafür die Klasse aus Übungsaufgabe 3).
Es werden hierzu durch den Nutzer zwölf Eingaben gemacht in der Reihenfolge:
Titel1, Autor1, ISBN1, Preis1, Titel2,...
2. Dann soll das Attribut erfragt werden, nach dem die Bucher sortiert werden sollen.
Zur Auswahl stehen die vier Attribute der Klasse Book. Der Nutzer soll durch
Eingaben von 1 bis 4 (1=Titel, 2=Autor, 3=ISBN-Nummer und 4=Preis) seine
Wahl angeben können.
3. Dann wird gefragt ob auf- oder absteigend sortiert werden soll (1=aufsteigend,
2=absteigend). Bei Titel und Autor ist eine lexikographische Sortierung gefragt.
4. Die Titel der Bücher sollen abschließend nach den obigen Vorgaben sortiert ausgegeben
werden.

Beispiel für Ein- und Ausgaben des Programms:

1.
 Titel: Bis(s) zum Morgengrauen - Twilight; Author: Stephenie Meyer; ISBN-
13: 9783492251495; Preis: 9,95;
 Titel: Der Schwarm; Author: Frank Schatzing; ISBN-13: 9783462033748;
Preis: 24,95;
 Titel: Der Hobbit; Author: J.R.R. Tolkien; ISBN-13: 9783608938005 ; Preis:
22,90;

2. 4 (d.h. Sortieren nach Preis)

3. 2 (d.h. absteigende Sortierung)

4. Nach Preis absteigend sortiert:
Der Schwarm;
Der Hobbit;
Bis(s) zum Morgengrauen - Twilight

Für alle Eingaben soll JOptionPane.showInputDialog() genutzt werden, für die
Ausgaben JOptionPane.showMessageDialog(null, AUSGABESTRING)

Das Programm läuft auch, kommt uns aber arg lang vor.
Kann vielleicht jemand von euch mal über "PM" drüberschauen und vielleicht verbessungsvorschläge machen???

Danke

P.S. Darf den Code leider nicht posten
 
Die Methode Systme.nanoTime() kann dazu verwendet werden, um die benötigte Zeit für Vorgänge zu messen. Damit könntet ihr versuchen herauszufinden, wo das Programm stecken bleibt.
Java:
long t0 System.nanoTime();
... zu messender Code
lond dt = (System.nanoTime()-t0)/1000000; // berechne die Anzahl Millisekunden
System.out.prinltn("Time elapsed: "+dt+" ms");
 
Das Programm läuft auch, kommt uns aber arg lang vor.

Dann lasst es so, zeigt es Niemanden und gut ist! Jeden Tag fragen knapp 3 Leute aus eurem Semester hier nach Lösungen, wenn jetzt jeder den selben fragt, haben auch alle wieder die selbe Lösung 🙂

Vor allem werdet ihr dann vllt. Lösungsvorschläge ala : verwendet Comparator, Collections.sort usw. erhalten, die ihr aber anscheinend noch gar nicht hattet...

Also wenn es läuft, dann freut euch doch und schickt es ab 🙂

(dass das Programm etwas länger werden kann, ist hier schon gut möglich wenn ihr alles mit eigenen Sortierungne (if-else) abwickelt)
 
Ja, hast recht. Werd es jetzt so hochladen. Hatte befürchtet, dass man vielleicht Punktabzüge bekommt wenn man es zu "umständlich" löst, aber das dürften die Profs eigentlich nicht machen.
 

Zurück
Oben