import javax.swing.*; //für die Eingabe
public class Java_Aufgabe_4_Rechenoperationen {
//Alle Methoden mit double, damit auch Komastellen gerechnet und angegeben werden.
static void addition(double a, double b) {
System.out.println(a + " + " + b + " = " + (a + b));
}
static void substraktion (double a, double b) {
System.out.println(a + " - " + b + " = " + (a - b));
}
static void division(double a, double b) {
System.out.println(a + " / " + b + " = " + (a / b));
}
static void multiplikation(double a, double b) {
System.out.println(a + " * " + b + " = " + (a * b));
}
public static void main(String[] args) {
double wert1, wert2;
wert1 = 0;
wert2 = 0;
String eingabe = " ";
char auswahl = ' ';
boolean weiter = false;
//Abfragen der Zahl zur Berechnung
while (weiter == false) { //bei gelingen wird weiter auf true geändert und die Schleife endet.
eingabe = JOptionPane.showInputDialog("Geben Sie ihr erste Zahl für die Rechnung ein.");
if (eingabe == null) { //Auf Abbrechen prüfen.
System.out.println("Sie haben die Eingabe abgebrochen, einen schönen Tag!");
System.exit(0);
}
try { //Prüfung ob sich eingabe in einen double Wert umwandeln lässt.
wert1 = Double.parseDouble(eingabe);
weiter = true;
} catch(NumberFormatException e) {
System.out.println("Ihre Eingabe war nicht gültig bitte wiederholen...");
}
}
weiter = false;
//Abfragen der zweiten Zahl zur Berechnung
while (weiter == false) { //bei gelingen wird weiter auf true geändert und die Schleife endet.
eingabe = JOptionPane.showInputDialog("Geben Sie ihr zweite Zahl für die Rechnung ein.");
if (eingabe == null) { //Auf Abbrechen prüfen.
System.out.println("Sie haben die Eingabe abgebrochen, einen schönen Tag!");
System.exit(0);
}
try { //Prüfung ob sich eingabe in einen double Wert umwandeln lässt.
wert2 = Double.parseDouble(eingabe);
weiter = true;
} catch(NumberFormatException e) {
System.out.println("Ihre Eingabe war nicht gültig bitte wiederholen...");
}
}
weiter = false; //FlagVariable auf false setzen.
do {
eingabe = JOptionPane.showInputDialog("Wählen sie die Rechenoperation:\na = addition(+)\nb = substraktion(-)"
+ "\nc = division(/)\nd multiplikation(*)");
if (eingabe == null) { //Abbrechen abfangen bei Eingabedialog.
System.out.println("Sie haben die Eingabe abgebrochen, starten sie das Programm neu.");
System.exit(0);
}else
if (eingabe.isEmpty()) { //Abfangen bei Auswahl OK ohne Eingabe.
weiter = true; //FlagVariable auf true zur wiederholung der Schleife.
System.out.println("Sie haben keine gültige Auswahl getroffen, bitte wiederholen!");
}
} while (weiter == false); //Schleife wiederholen wenn weiter nicht false ist.
auswahl = eingabe.charAt(0);
switch(auswahl) {
case 'a':
addition(wert1, wert2);
break;
case 'b':
substraktion(wert1, wert2);
break;
case 'c':
division(wert1, wert2);
break;
case 'd':
multiplikation(wert1, wert2);
break;
default:
System.out.println("Sie haben keine gültige eingabe getroffen!");
}
System.exit(0);
}
}