Java :: Aufgabe #20 :: Lösung #6

9 Lösungen Lösungen öffentlich
#20

Programmier-Basics: Rabattaktion

Anfänger - Java von Freki - 27.12.2012 um 14:53 Uhr
Während einer Sonderaktion wird ein Rabatt von 10% auf alle
Einkäufe mit einem Gesamtbetrag von mehr als $10.00 gewährt.
Schreiben Sie ein Programm, das nach dem Gesamtbetrag fragt
und den Rabatt berechnet.
Der Gesamtbetrag wird in Cent (als Ganzzahl) eingegeben.

Konsolenausgabe:

Geben Sie den Gesamtbetrag ein:
2000
Discountpreis: 1800

#6
vote_ok
von nOrdan (1160 Punkte) - 03.06.2019 um 23:04 Uhr
Anmerkung: Ich arbeite mit dem Programm BlueJ

Quellcode ausblenden Java-Code


import javax.swing.JOptionPane;

import java.text.DecimalFormat;

/**
 * Berechnungen des Preises eines Einkaufs, welcher ab 10 Dollar 10% Rabatt bekommt.
 * 
 * @author (nOrdan) 
 * @version (03.06.2019)
 */
public class Kasse
{
    
    DecimalFormat df = new DecimalFormat("0.00");
    
    public static void main(String [] args)
    {
        Kasse k = new Kasse();
        k.inputs();
    }
    
    private void inputs()
    {
        boolean valid1 = false;
        int betrag = 0;
        while (valid1 == false)
        {
            String input1 = userInput("Geben sie ihren Gesamtbetrag des Einkaufs in Cent ein");
            errorUserInput(input1);
            try
            {
                betrag = parseInt(input1);
                valid1 = true;
            }
            catch(Exception e)
            {
                errorMessage("Invalid user input","Invalid input");
            }
        }
        berechnungen(betrag);
    }
    
    private void berechnungen(int betrag)
    {
        if (betrag > 1000)
        {
            informationMessage("Die Kosten für ihren Einkauf betragen " + df.format((betrag * 0.9)) + " Cent","Preis");
        }
        else
        {
            informationMessage("Die Kosten für ihren Einkauf betragen " + betrag + " Cent","Preis");
        }
    }
    
    private String userInput(String message)
    {
        return JOptionPane.showInputDialog(message);
    }
    
     private int parseInt(String input)
    {
        return Integer.parseInt(input);
    }

    private void errorUserInput(String input)
    {
        if (input == null) 
        {
            System.exit(0); //Drückt der User auf abbrechen wird null zurück gegeben und das Programm wird beendet
        }
        else if (input.length() == 0)
        {
            //continue; wenn nötig
        }
    }

    private void errorMessage(String message,String errorName)
    {
        JOptionPane.showMessageDialog(null,message,errorName,JOptionPane.ERROR_MESSAGE); 
    }
    
    private void informationMessage(String message,String informationName)
    {
        JOptionPane.showMessageDialog(null,message,informationName,JOptionPane.INFORMATION_MESSAGE);
    }
}


Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben