Java :: Aufgabe #21 :: Lösung #7
9 Lösungen

#21
Programmier-Basics: Bestellungsüberprüfung
Anfänger - Java
von Freki
- 27.12.2012 um 14:55 Uhr
Bobs Schrauben Discount verlangt folgende Preise:
5 Cent pro Schraube
3 Cent pro Mutter
1 Cent pro Unterlegscheibe
Schreiben Sie ein Programm, das den Anwender nach der Anzahl der Schrauben,
Muttern und Beilegscheiben fragt und dann den Gesamtbetrag berechnet und ausgibt.
Zusätzlich überprüft das Programm die Bestellung. Es ist normalerweise ein Fehler, wenn mehr Schrauben als Muttern bestellt werden.
In diesem Fall gibt das Programm die Meldung aus: "Kontrollieren Sie Ihre Bestellung!"
Andernfalls gibt das Programm aus: "Die Bestellung ist okay."
In jedem Fall wird der Gesamtbetrag ausgegeben.
5 Cent pro Schraube
3 Cent pro Mutter
1 Cent pro Unterlegscheibe
Schreiben Sie ein Programm, das den Anwender nach der Anzahl der Schrauben,
Muttern und Beilegscheiben fragt und dann den Gesamtbetrag berechnet und ausgibt.
Zusätzlich überprüft das Programm die Bestellung. Es ist normalerweise ein Fehler, wenn mehr Schrauben als Muttern bestellt werden.
In diesem Fall gibt das Programm die Meldung aus: "Kontrollieren Sie Ihre Bestellung!"
Andernfalls gibt das Programm aus: "Die Bestellung ist okay."
In jedem Fall wird der Gesamtbetrag ausgegeben.
Konsolenausgabe:
Anzahl der Schrauben:
12
Anzahl der Muttern:
8
Anzahl der Unterlegscheiben:
24
Kontrollieren Sie Ihre Bestellung!
Gesamtbetrag: 108
#7

von nOrdan (1160 Punkte)
- 03.06.2019 um 00:04 Uhr
Anmerkung: Ich arbeite mit dem Programm BlueJ
Java-Code

import javax.swing.JOptionPane; /** * Simulation einer Bestellung in einem Shop * * @author (nOrdan) * @version (02.06.2019) */ public class Bestellung { public static final int schraube = 5; public static final int mutter = 3; public static final int unterlegscheibe = 1; public static void main(String [] args) { Bestellung b = new Bestellung(); b.inputs(); } private void inputs() { boolean valid1 = false; int anzahlSchrauben = 0; int anzahlMuttern = 0; int anzahlUnterlegscheiben = 0; while (valid1 == false) { while (valid1 == false) { String input1 = userInput("Wieviele Schrauben wollen Sie bestellen?"); errorUserInput(input1); try { anzahlSchrauben = parseInt(input1); valid1 = true; } catch(Exception e) { errorMessage("Invalid user input","Input error"); } } valid1 = false; while (valid1 == false) { String input2 = userInput("Wieviele Muttern wollen Sie bestellen?"); errorUserInput(input2); try { anzahlMuttern = parseInt(input2); valid1 = true; } catch(Exception e) { errorMessage("Invalid user input","Input error"); } } valid1 = false; while (valid1 == false) { String input3 = userInput("Wieviele Unterlegscheiben wollen Sie bestellen?"); errorUserInput(input3); try { anzahlUnterlegscheiben = parseInt(input3); valid1 = true; } catch(Exception e) { errorMessage("Invalid user input","Input error"); } } valid1 = false; if (pruefen(anzahlSchrauben,anzahlMuttern,anzahlUnterlegscheiben) == true) { valid1 = true; } else { continue; } } berechnen(anzahlSchrauben,anzahlMuttern,anzahlUnterlegscheiben); } private boolean pruefen(int anzahlSchrauben,int anzahlMuttern,int anzahlUnterlegscheiben) { if (anzahlMuttern > anzahlSchrauben || anzahlUnterlegscheiben > anzahlSchrauben) { JOptionPane.showMessageDialog(null,"Bitte wiederholen sie den Bestellvorgang,da ihre Bestellung fehlerhaft erscheint","Suspicoius order",JOptionPane.INFORMATION_MESSAGE); return false; } else { JOptionPane.showMessageDialog(null,"Die Bestellung ist okay","Non Susspicoius order",JOptionPane.INFORMATION_MESSAGE); return true; } } private void berechnen(int anzahlSchrauben,int anzahlMuttern, int anzahlUnterlegscheiben) { int preis = anzahlSchrauben * 5 + anzahlMuttern * 3 + anzahlUnterlegscheiben * 1; int euro = preis / 100; int cent = preis % 100; JOptionPane.showMessageDialog(null,"Ihre Bestellung kostet: " + euro + "," + cent + "€","Order succesfull",JOptionPane.INFORMATION_MESSAGE); } 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); } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1