Java Printing

Werbung
Class Ticketautomat
1/3
/**
* Die Klasse Ticketautomat modelliert einfache Ticketautomaten,
* die Tickets zu einem Einheitspreis herausgeben.
* Der Preis für die Tickets eines Automaten kann über den Konstruktor
* festgelegt werden.
* Ein Ticketautomat ist insofern 'naiv', dass er seinen Benutzern
* vertraut, dass sie genügend Geld einwerfen, bevor sie sich ein Ticket
* ausdrucken lassen.
* Außerdem nimmt er an, dass sinnvolle Beträge eingeworfen werden.
*
* @author David J. Barnes und Michael Kölling / WS
* @version 2006.05.22
*/
public class Ticketautomat
{
// Der Preis eines Tickets dieses Automaten.
private int preis;
// Der Betrag, der bisher vom Automatenbenutzer eingeworfen wurde.
private int bisherGezahlt;
// Die Geldsumme, die bisher von diesem Automaten eingenommen wurde.
private int gesamtsumme;
// für das Wechselgeld
private int zuViel;
/**
* Erzeuge eine Maschine, die Tickets zum angegebenen Preis
* (in Cent) ausgibt.
* Zu beachten: Der Preis muss größer als Null sein,
* der Automat überprüft dies jedoch nicht.
*/
public Ticketautomat(int ticketpreis)
{
preis = ticketpreis;
bisherGezahlt = 0;
gesamtsumme = 0;
zuViel = 0;
}
/**
* Liefere den Preis eines Tickets dieses Automaten (in Cent).
*/
public int gibPreis()
{
return preis;
}
/**
* Liefere die Höhe des Betrags, der für das nächste Ticket bereits
* eingeworfen wurde.
*/
public int gibBisherGezahltenBetrag()
{
return bisherGezahlt;
22.05.2006 06:07:50
Class Ticketautomat (fortgesetzt)
2/3
}
/**
* Nimm den angegebenen Betrag (in Cent) als Anzahlung für das
* nächste Ticket.
*/
public void geldEinwerfen(int betrag)
{
bisherGezahlt += betrag;
}
/**
* Drucke ein Ticket.
* Aktualisiere die eingenommene Gesamtsumme und setze den gezahlten
* Betrag auf Null.
*/
public void ticketDrucken()
{
// Den Ausdruck eines Tickets simulieren.
System.out.println("##################");
System.out.println("# Die BlueJ-Linie");
System.out.println("# Ticket");
System.out.println("# " + preis + " Cent.");
System.out.println("##################");
System.out.println();
// Die Gesamtsumme mit dem eingezahlten Betrag aktualisieren.
gesamtsumme += bisherGezahlt;
// Die bisherige Bezahlung zurücksetzen.
bisherGezahlt = 0;
}
/**
* Drucke ein Ticket by ws
*/
public void ticketDrucken2()
{
// Den Ausdruck eines Tickets simulieren.
if (bisherGezahlt >= preis)
{
zuViel = bisherGezahlt - preis;
System.out.println("##################");
System.out.println("# Die BlueJ-Linie");
System.out.println("# Ticket");
System.out.println("# " + preis + " Cent.");
if (zuViel > 0)
{
System.out.println("# Wechselgeld:" + zuViel + " Cent.");
}
System.out.println("##################");
System.out.println();
// Die Gesamtsumme mit dem eingezahlten Betrag aktualisieren.
22.05.2006 06:07:50
Class Ticketautomat (fortgesetzt)
3/3
gesamtsumme += preis;
// Die bisherige Bezahlung zurücksetzen.
bisherGezahlt = 0;
zuViel = 0;
}
else
{
System.out.println(" Kein Geld, kein Ticket!!!");
}
}
}
22.05.2006 06:07:50
Herunterladen