Java Projekt: Fahrkartenautomat

  • Beitrag veröffentlicht:11. Januar 2020
  • Beitrags-Kategorie:Java / Programmierung
  • Beitrags-Kommentare:0 Kommentare
  • Lesedauer:2 min Lesezeit
  • 394 Wörter

Hier ein kleines Projekt, bei dem ich dir zeige, wie du einen Fahrkartenautomaten in Java realisieren kannst. Ich denke, der Code mit den Kommentaren sagt mehr aus, als eine ausführliche Beschreibung, hier also der Code:

//Imports
import java.util.ArrayList;
import java.util.Arrays;

//Klasse: Fahrkartenautomat
public class Fahrkartenautomat
{
    //Deklaration der Instanzvariablen
    private double fahrPreis;
    private double einwurf;
    private double gesamtEinnahmen;
    private ArrayList<Double> ticketumsaetze = new ArrayList<Double>();

    //Konstruktor
    public Fahrkartenautomat(){
        //Initialisierung der Instanzvariablen
        fahrPreis = 3.8;
        einwurf = 0.0;
        gesamtEinnahmen = 0.0;
        ticketumsaetze.clear();
    }

    //Methode zum Festlegen des Fahrpreises
    public void fahrpreisFestlegen(double Fahrpreis){
        fahrPreis = Fahrpreis;
    }

    //Methode zum Einzahlen
    public void einzahlen(double betrag){
        einwurf += betrag;
    }

    //Methode zum Drucken der Fahrkarte
    public void druckeFahrkarte(){
        System.out.println("Fahrpreis: " + fahrPreis + "€");
        System.out.println("Bereits gezahlt: " + einwurf + "€");
        if (einwurf < fahrPreis){
            System.out.println("Es fehlen noch " + (fahrPreis - einwurf) + "€.");
        } else if (einwurf == fahrPreis){
            System.out.println("Der Kauf wurde abgschlossen.");
            gesamtEinnahmen += fahrPreis;
            ticketumsaetze.add(fahrPreis);
            einwurf = 0.0;
        } else if (einwurf > fahrPreis){
            System.out.println("Der Kauf wurde abgschlossen.");
            gesamtEinnahmen += fahrPreis;
            ticketumsaetze.add(fahrPreis);
            System.out.println("Sie erhalten " + (einwurf - fahrPreis) + "€ Wechselgeld.");
            einwurf = 0.0;
        }
    }

    //Methode zum Anzeigen der Gesamteinnahmen
    public double getGesamteinnahmen(){
        return gesamtEinnahmen;
    }

    //Methode zum Abbrechen
    public void abbrechen(){
        System.out.println("Der Vorgang wird abgebrochen. Sie erhalten " + einwurf + "€ zurück.");
        einwurf = 0.0;
        fahrPreis = 0.0;
    }

    //Methode zum Ausdrucken des Ticketverlaufes
    public void ticketkaufverlaufAusdrucken(){
        System.out.println("\n--------------------------------------------");
        System.out.println("Ihre Umsätze: ");
        System.out.println("--------------------------------------------");
        for (int i = 0; i < ticketumsaetze.size(); i++){
            System.out.println("Ticketverkauf für: " + ticketumsaetze.get(i));
            System.out.println("--------------------------------------------");
        }
        System.out.println("Gesamteinnahmen bisher: " + getGesamteinnahmen() + "\n");
        System.out.println("--------------------------------------------");
    }
}Code-Sprache: PHP (php)

Das Projekt kannst du z.B. in BlueJ öffnen und ausführen. Hier ist der Vorteil, dass die Objekte ziemlich gut für Anfänger visualisiert sind.

Erstelle hier also als erstes Objekte für die verschiedenen Konten. Jetzt kannst du die verschiedenen Funktionen auf die Objekte anwenden. Hier ein paar Fotos dazu:

Bei Fragen oder Anregungen immer gerne einen Kommentar schreiben ;-).

Hinweis: Mit Sternchen (*) markierte Links auf dieser Seite sind Werbelinks. Beim Kauf darüber erhalte ich eine kleine Provision, der Preis bleibt für dich aber gleich. Damit unterstützt du mich, sodass ich weiterhin kostenlosen Inhalt auf diesem Blog anbieten kann ;-).

Hast du Fragen, Anregungen oder einen einfachen Kommentar dazu? Dann poste es hier!

Bitte bedenke, dass alle Kommentare manuell freigeschaltet werden müssen. Das kann teilweise ein bisschen dauern, du kannst dich aber mit der unten aufgeführten Funktion benachrichtigen lassen, wenn er beantwortet wurde. Das heißt auch, dass Beleidigungen, Spam oder pure Werbung keine Chance haben, auf die Website zu kommen. Deine Email-Adresse wird selbstverständlich nicht veröffentlicht. Erforderliche Felder sind mit * oder (erforderlich) markiert.