Ich suche verzweifelt den Fehler, warum dieser Tickeautomat nicht die richtige
gesammtsumme ausgibt.
findet ihn jemand und kann ihn mir vielleicht verbessern?
Die Gesamtsumme sollte = Kinderticket+Erwachsnenetickets *Linie sein , aber das funktioniert nicht ganz
gesammtsumme ausgibt.
findet ihn jemand und kann ihn mir vielleicht verbessern?
Die Gesamtsumme sollte = Kinderticket+Erwachsnenetickets *Linie sein , aber das funktioniert nicht ganz
Code:
public class Ticketautomat
{
// Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
private int preis;
private int bisherGezahlt;
private int gesamtsumme;
private int ticketpreis;
public int kindertickets;
public int erwachsenentickets;
public int streckenpreis;
public int neuerPreis;
private String linie;
private String name;
public Ticketautomat()
{
preis = ticketpreis;
preis=540;
erwachsenentickets= 0;
kindertickets = 0;
bisherGezahlt = 0;
gesamtsumme = 0;
linie = "Gelsenkirchen";
name = "Person";
}
public void KinderTickets(int neueKindertickets){
kindertickets=neueKindertickets;
preis= (neueKindertickets*preis)/2;
}
public void Erwachsenetickets(int neueErwachsenentickets){
erwachsenentickets=neueErwachsenentickets;
preis=preis;
}
public void linieÄndern(String neueLinie)
{
linie = neueLinie;
if("München".equals(neueLinie)){
preis=2550;
}
if("Hamburg".equals(neueLinie)){
preis=1550;
}
if("Düsseldorf".equals(neueLinie)){
preis=750;
}
if("Stutgart".equals(neueLinie)){
preis=850;
}
if("München".equals(neueLinie)){
preis=1050;
}
if("Berlin".equals(neueLinie)){
preis=1280;
}
}
public void neuenPreisFestsetzen(int neuerPreis)
{
if(bisherGezahlt==0){
preis=neuerPreis;
}else{
System.out.println("Der Preis kann während einer Tranaktion nicht geändert werden");
}
}
public int gibPreis()
{
return preis;
}
public int gibBisherGezahltenBetrag()
{
return bisherGezahlt;
}
public void geldEinwerfen(int betrag)
{
if(betrag==10 || betrag ==20|| betrag==50|| betrag ==50|| betrag==100|| betrag==200||betrag==500||betrag==1000){
bisherGezahlt= bisherGezahlt+betrag;
} else{
System.out.println("Der Betrag ist nicht zulässig. Bitte 10, 20 oder 50 Cent,1 Euro,2 Euro,5 Euro oder 10 Euro einwerfen");
}
}
public void personaliesierung(String neuerName){
name = neuerName ;
}
public void geldAuszahlen()
{
if (bisherGezahlt >0){
System.out.println("Geldrückgabe:"+ bisherGezahlt);
bisherGezahlt=0;
}
}
public void ticketDrucken()
{
if(bisherGezahlt>=preis){
System.out.println("######################################");
System.out.println("#_______________Ticket_______________#");
System.out.println("#Datum:07.03.2020 Uhrzeit: 13:00Uhr #");
System.out.println("Name:"+name);
System.out.println("# Von:Gladbeck Nach:"+linie+ " #");
System.out.println("#"+ preis/100 +","+ (preis %100)+"Euro");
System.out.println("######################################");
System.out.println();
gesamtsumme= gesamtsumme + bisherGezahlt;
bisherGezahlt= bisherGezahlt-preis;
geldAuszahlen();
}
else if (bisherGezahlt<preis) {
int fehlt;
fehlt= preis-bisherGezahlt;
System.out.println("Es fehlt noch"+ fehlt+ "Cent!");
System.out.println();
}
}
}