Ticketautomat strukturierter hinbekommen

K

kneitzel

Gast
Hast Du Dich einmal mit der IDE beschäftigt? Die haben eigentlich alle einen Debugger eingebaut.

"er zeigt keinen Preis an" ist auch eine Aussage - zeigt er den falschen Preis an oder zeigt er gar nichts an? Wenn er nichts anzeigt, dann musst Du schauen, wo die Ausgabe gemacht werden soll und wieso er da nicht hin kommt. Wenn was falsches angezeigt wird (z.B. 0), dann wäre mein Ratschlag, dir das einmal näher anzusehen:
a) Breakpoint setzen - Dazu klickt man bei den meisten IDEs einfach links neben die Zeile und da erscheint dann meist ein roter Punkt....
In deinem Fall könnte man den Breakpoint auf gesamtsummer = ... setzen.
b) Dann die Applikation im Debug-Modus starten. Dazu gibt es dann bei "Run" oft ein "Debug", das man anstarten kann.
c) Dann läuft die Applikation erst einmal ganz normal, bis eben die Ausführung an den Breakpoint kommt. Dann stoppt die Ausführung und du kannst im Debugger dir die Werte ansehen:
- streckenpreis
- kindertickets
- erwachsenentickets
Welche Werte haben diese Variablen?
Das mit dem streckenpreis ist etwas seltsam. Wird beim setzen der Linie gesetzt aber auch beim setzen der Anzahl der Kindertickets? Etwas dubios :)
 

temi

Top Contributor
Code:
 public  int kompletteSumme(){
        gesamtsumme = (streckenpreis*kindertickets/2)+streckenpreis*erwachsenentickets;
        return gesamtsumme;

    }
    hier
Die Methode selbst gibt ja auch nichts aus. Die eigentliche Ausgabe (sofern vorhanden) hast du nicht gezeigt. Die Methode sollte aber einen Wert zurückgeben, wenigstens 0.

Entweder du gibst dir in dieser Methode einfach mal die Werte der einzelnen beteiligten Variablen aus, um kontrollieren zu können was falsch läuft oder du nutzt, wie von @JustNobody bereits vorgeschlagen, einen Debugger.
 

White_Fox

Top Contributor
Eine Fehlerquelle ist schonmal das hier:
...gesamtsumme ... kompletteSumme()...
Wer soll da durchsteigen? Man kann zwar an den Klammern erkennen daß das eine eine Variable und das andere eine Methode ist, es ist aber nicht ersichtlich wie beides miteinander zusammenhängt. In Methoden wird normalerweise etwas getan, daher beginne ich Methodenbezeichner meistens mit einem Verb. Z.B. "berechneGesamtsumme()".

Das ist so eine typische Stelle, wo man am Ende über seinen eigenen Code stolpert und man schon wenige Codezeilen nicht mehr überblickt.
 
Zuletzt bearbeitet:

Kirby.exe

Top Contributor
@Garfild2015 Ich weiß zwar nicht wie lange du noch Zeit für das Projekt hast, jedoch würde ich dir empfehlen einen Stift und einen Block zu nehmen und dir auf ein Papier deine ungefähre Projekt Struktur aufzuschreiben (Klassen, Methoden, Instanzvariablen,...) und dir damit eine sinnvolle Modellierung eines Ticketautomaten zu überlegen ;)
 

temi

Top Contributor
@Garfild2015 Ich weiß zwar nicht wie lange du noch Zeit für das Projekt hast, jedoch würde ich dir empfehlen einen Stift und einen Block zu nehmen und dir auf ein Papier deine ungefähre Projekt Struktur aufzuschreiben (Klassen, Methoden, Instanzvariablen,...) und dir damit eine sinnvolle Modellierung eines Ticketautomaten zu überlegen ;)
Die Frage wurde auch schon mehrfach gestellt: Gibt es irgendwelche Vorgaben? Oder sollt ihr euch selbst was ausdenken? In jedem Fall solltest du bevor du mit der Implementierung beginnst klar formuliert vorliegen haben, wie der Ticketautomat funktionieren soll.
 

Garfild2015

Aktives Mitglied
Die Frage wurde auch schon mehrfach gestellt: Gibt es irgendwelche Vorgaben? Oder sollt ihr euch selbst was ausdenken? In jedem Fall solltest du bevor du mit der Implementierung beginnst klar formuliert vorliegen haben, wie der Ticketautomat funktionieren soll.

Vorgaben gab es eigentlich kaum.
Wir waren das auf uns allein gestellt.
Wir sollten halt alles machen was ein Ticketautomat hat.
Gruppenpreise, unterschiedliche Preise für Strecken, Kinderrabatt, Einzahlung und Auszahlung und man soll halt kein Ticket bekommen wenn man noch nicht genug gezahlt hat (alles in Euro angegeben und nicht in Cent)
 

Ähnliche Java Themen

Neue Themen


Oben