Hallo zusammen,
ich habe folgenden Code erstellt:
Es soll ein einfacher Taschenrechner sein, der an sich auch laufen würde.
Ich möchte aber, dass bei falscheingaben die Eingabe wiederholt wird, und bei klicken auf Abbrechen die Eingabe komplett abgebrochen wird.
Ich habe das in den Zeielen 42 bis 46 für die Variable einVariable1 schon versucht, aber leider klappt das nicht, wenn ich auch Abbrechen klicke, die weiteren Variablen werden wie sonst auch eingelesen.
Könnt ihr mir bitte weiterhelfen, damit bei einem Klick auf Abbrechen das gesamte Programm beendet wird?
Danke!
EDIT: Ich bin gerade auf die Anweisung System.exit (0) gestoßen, damit müsste es funktionierten,
aber geht es auch so wie ich es ursprünglich vorhatte, mit einer Schleife oder ähnlichem?
ich habe folgenden Code erstellt:
Java:
import javax.swing.*;
//Erfassung von Methoden zur Berechnung vom Rückgabetyp Integer
public class Nummer4 {
static int addition (int x, int y) {
return (x + y);
}
static int subtraktion (int x, int y) {
return (x - y);
}
static int division (int x, int y) {
return(x / y);
}
static int multiplikation (int x, int y) {
return (x * y);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//Vereinbarung der Variablen zur Eingabe
String rohVariable1, rohVariable2;
//Vereinbarung der Variablen zur Berechnung
int einVariable1, einVariable2, ergebnis;
char operator;
String einlesen;
boolean gelungen = false;
boolean berechnung = false;
//Initialisierung der Variablen
ergebnis = 0;
einVariable1 =0;
einVariable2 = 0;
//Eingabe der beiden Operanden und des Operators
while (berechnung == false) {
while (gelungen == false) {
rohVariable1 = JOptionPane.showInputDialog ("Bitte geben Sie die erste Zahl ein!");
if (rohVariable1 != null) {
try {
einVariable1 = Integer.parseInt (rohVariable1);
gelungen = true;
}
catch (NumberFormatException e) {
System.out.println ("Sie haben einen ungültigen Wert eingegeben, bitte wiederholen Sie die Eingabe");
}
}
else {
System.out.println ("Sie haben die Eingabe abgebrochen.");
berechnung = true;
gelungen = true;
}
}
einlesen = (JOptionPane.showInputDialog("Geben Sie die gewünschte Rechenoperation ein (+, -, * oder /"));
einVariable2 = Integer.parseInt (JOptionPane.showInputDialog("Bitte geben Sie die zweite Zahl ein!"));
operator = einlesen.charAt (0);
//Die Berechnung wird über die Mehrfachauswahl switch...case durchgeführt, indem die Variablen
//einVariable1 und einVariable2 als Argumente an die jeweilige Methode übergeben werden (abhängig
//vom eingegeben Operator, welcher in der Variablen "operator" gespeichert ist.
switch (operator) {
case '+':
ergebnis = addition (einVariable1, einVariable2);
break;
case '-':
ergebnis = subtraktion (einVariable1, einVariable2);
break;
case '*':
ergebnis = multiplikation (einVariable1, einVariable2);
break;
case '/':
ergebnis = division (einVariable1, einVariable2);
break;
//falls ein anderer Operator als die oben stehenden eingegeben wurde, dann folgendes ausgeben:
default:
System.out.println ("Sie haben einen ungültigen Operator eingegeben!");
}
//Ausgabe des Ergebnisses
System.out.println ("Das Ergebnis von " + einVariable1+" " + operator+" " + einVariable2+ " ist "+ ergebnis);
}
}
}
Es soll ein einfacher Taschenrechner sein, der an sich auch laufen würde.
Ich möchte aber, dass bei falscheingaben die Eingabe wiederholt wird, und bei klicken auf Abbrechen die Eingabe komplett abgebrochen wird.
Ich habe das in den Zeielen 42 bis 46 für die Variable einVariable1 schon versucht, aber leider klappt das nicht, wenn ich auch Abbrechen klicke, die weiteren Variablen werden wie sonst auch eingelesen.
Könnt ihr mir bitte weiterhelfen, damit bei einem Klick auf Abbrechen das gesamte Programm beendet wird?
Danke!
EDIT: Ich bin gerade auf die Anweisung System.exit (0) gestoßen, damit müsste es funktionierten,
aber geht es auch so wie ich es ursprünglich vorhatte, mit einer Schleife oder ähnlichem?
Zuletzt bearbeitet: