Hallo!
Ich hab gestern mit JAVA angefangen und bräuchte 1 oder 2 Starthilfen.
Wie kann ich, in diesem Taschenrechner, mit dem Ergebnis weiterrechnen ohne das Zahl1 wieder neu eingegeben wird? Wie kann ich die trycatch Funktion weiter verbessern? Also das wenn nichts, ein Buchstabe oder eine Zahl UND ein Buchstabe eingegeben wird das man erneut gefragt wird und erneut eine Eingabe machen muss, bis dann endlich eine annehmbare Zahl eingegeben wird.
Ich hab gestern mit JAVA angefangen und bräuchte 1 oder 2 Starthilfen.
Wie kann ich, in diesem Taschenrechner, mit dem Ergebnis weiterrechnen ohne das Zahl1 wieder neu eingegeben wird? Wie kann ich die trycatch Funktion weiter verbessern? Also das wenn nichts, ein Buchstabe oder eine Zahl UND ein Buchstabe eingegeben wird das man erneut gefragt wird und erneut eine Eingabe machen muss, bis dann endlich eine annehmbare Zahl eingegeben wird.
Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Taschenrechner {
public static void main(String[] args) throws IOException
{
double e;
String y = null;
String x = null;
String r = " %10.3f%n%s %10.3f%n------------%n%s %10.3f %n";
BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));
do {
do {
// Eingabe der Zahlen
System.out.println("Bitte geben Sie Ihre erste Zahl ein:");
String str1 = input.readLine();
double zahl1 = 0;
try {
zahl1 = Double.parseDouble(str1);
} catch (NumberFormatException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("Bitte geben Sie Ihre zweite Zahl ein:");
String str2 = input.readLine();
double zahl2 = 0;
try {
zahl2 = Double.parseDouble(str2);
} catch (NumberFormatException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// Ende der Eingabe
System.out
.println("Geben Sie bitte an, mit welcher Rechenart Sie diese Zahlen berechnen moechten.");
System.out.println("a fuer Addition");
System.out.println("s fuer Subtraktion");
System.out.println("m fuer Multiplikation");
System.out.println("d fuer Division");
String z = input.readLine();
switch (z) {
case "a":
System.out
.println("Sie haben sich für die Addition entschieden.");
e = zahl1 + zahl2;
System.out.printf(r, zahl1, "+", zahl2, "=", e);
zahl1 = e;
break;
case "s":
System.out
.println("Sie haben sich für die Subtraktion entschieden.");
e = zahl1 - zahl2;
System.out.printf(r, zahl1, "-", zahl2, "=", e);
zahl1 = e;
break;
case "m":
System.out
.println("Sie haben sich für die Multiplikation entschieden.");
e = zahl1 * zahl2;
System.out.printf(r, zahl1, "*", zahl2, "=", e);
zahl1 = e;
break;
case "d":
System.out
.println("Sie haben sich für die Division entschieden.");
e = zahl1 / zahl2;
System.out.printf(r, zahl1, "/", zahl2, "=", e);
zahl1 = e;
break;
default:
System.out.println("Ihre Eingabe ist ungueltig.");
}
System.out
.println("Wollen Sie das Programm erneut starten? j=Ja / n=Nein");
y = input.readLine();
} while ("j".equalsIgnoreCase(y));
System.out
.println("Wollen Sie mit dem Ergebnis weiterrechnen? j=Ja / n=Nein");
x = input.readLine();
} while ("j".equalsIgnoreCase(x));
}
}
// if (Math.random() > 0) throw new Exception();