Kombination zweier Befehle (Preis festlegen & Rabatt berechnen)

Geradon

Neues Mitglied
Hallo,

und zwar möchte ich folgendes programmieren:

Wir befinden uns in einem Fahrradverleih und ich möchte berechnen, wie teuer es ist, ein Fahrrad für X Tage auszuleihen. An sich ist das ja kein Problem, wenn man eine Eingabe für die Tage hat und eine seperate Eingabe für die Preisbrechnung (in etwa so🙂

public void setPreisProTag (double pPreisProTag)
{ preisProTag = pPreisProTag;
}

UND

public double getPreisGesamt()
{ if (tage <=5)
return preisProTag * tage;
else
return preisProTag * tage * 0.9;
}

Jedoch muss ich ja dafür die Tage vorher mit einem extra Befehl festlegen. Ich möchte wissen, ob es eine Möglichkeit gibt folgendes kombinieren:

Zuerst soll ein Fenster erscheinen, in dem man eingibt, wie lange man das Fahrrad ausleihen möchte, danach berechnet es automatisch, wie viel die gesamten Ausleihkosten sind auf Grundlage der eingegebenen Tage (der Ausleihpreis pro Tag ist schon vorher definiert).

Da ich noch nicht viel Erfahrung mit Java habe, habe ich echt keine Ideen, mit welchen Befehlen das möglich sein könnte.

Schonmal im Vorraus vielen Dank für eure Hilfe.
 
Java:
import java.awt.FlowLayout;                     //Imports
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class FahrradVerleih {
    private  JFrame frame;
    private final JTextField tf;
    private JButton button;
    private int tage;
    private int preis = 10;
    
    public FahrradVerleih() {
        this.frame = new JFrame("Fahrradverleih");  //erzeugen eines Fensters
        frame.setSize(100,100);                          // festlegen der Größe des Fensters
        
        this.tf = new JTextField("Tage");               // erzeugen eines Textfeld
        this.button = new JButton("berechnen");    //erzeugen eines Buttons
        button.addActionListener(new ActionListener() {                        
            @Override
            public void actionPerformed(ActionEvent action) {   //Aktion die ausgeführt werden soll, wenn auf den Button geklickt wurde
                tf.setText("" + berechnePreis(Integer.parseInt(tf.getText()))); //mit untriger Methode den Inhalt des Textfeldes ändern
            }
        });
        
        JPanel container = new JPanel(new FlowLayout());   //erzeugt einen Container
        container.add(tf);            //fügt dem container das textfeld hinzu
        container.add(button);      // fügt dem container den button hinzu
        frame.add(container);       //fügt dem fenster den container hinzu
        frame.setVisible(true);      //setzt das fenster auf sichtbar
        
    }
    
    private int berechnePreis(int tage) {
        return tage * this.preis;                   //berechnet für beliebig viele tage den preis
    }
    
    public static void main (String[] args) {
        new FahrradVerleih();
    }
}

Das wäre so das Grundmodell, musst du dann noch deinen Anforderungen anpassen 😉


||edit: war mal so nett alles zu kommentieren ^^
 
Zuletzt bearbeitet:
Hi,

leider habe ich nicht wirklich einen Ansatz, da ich mich wie gesagt noch nicht wirklich mit Java auskenne, bin gerade nur dabei aus reiner Neugierde ein par Grundlagen zu lernen und bin dabei auf das Problem gestoßen.

Ich hatte mir überlegt, dass es evtl eine Kombination aus der set- & get-Methode ist, ich weiß nur nicht, wie man das programmieren könnte.

//EDIT: Danke für die Grundlage, ich werd da heut Nacht mal drüberschauen, muss jetzt leider weg arbeiten ;(
 

Zurück
Oben