Tag gesagt!
if{} if{} if{} ist hier schlecht, weil das Programm immer alle if's überprüfen muss, obwohl es manchmal schon nach dem ersten klar ist, dass die eingabe 1 war, und man in die nächste runde gehen kann. Etwas besser ist es, alles mit "else" zu verknüpfen.
also ich hab da so einiges versucht und komme nicht weiter. egal wo ich auch mein else hinsetze, es kommt immer ein bug raus. er kompiliert zwar aber es läuft nicht einwandfrei.
schaut euch doch bitte nochmal den code an und sagt mir wo ich mit else arbeiten sollte.
danke
[HIGHLIGHT="Java"]import java.io.*;
class MRT
{
public static void main (String[] args) throws IOException
{
System.out.println("Herzlich Willkommen zu Martin Ramps Taschenrechner");
BufferedReader stdin =
new BufferedReader (new InputStreamReader(System.in));
while (true)
{
double zahleins, zahlzwei;
int Antwort;
System.out.println("Wählen sie eine Grundrechenart. Zum Beenden druecken sie (4)");
System.out.println("(0)Addieren , (1)Subtrahieren , (2)Multiplizieren , (3)Dividieren");
Antwort = Integer.parseInt( stdin.readLine() );
if (Antwort == 0)
{
System.out.println("Geben sie den ersten Summand ein");
zahleins = Double.parseDouble( stdin.readLine() );
System.out.println("Geben sie den zweiten Summand ein");
zahlzwei = Double.parseDouble( stdin.readLine() );
System.out.println("Die Summe betraegt: " + (zahleins + zahlzwei));
}
if (Antwort == 1)
{
System.out.println("Geben sie den Minuend ein");
zahleins = Double.parseDouble( stdin.readLine() );
System.out.println("Geben sie den Subtrahend ein");
zahlzwei = Double.parseDouble( stdin.readLine() );
System.out.println("Die Differenz betraegt: " + (zahleins - zahlzwei));
}
if (Antwort == 2)
{
System.out.println("Geben sie den ersten Faktor ein");
zahleins = Double.parseDouble( stdin.readLine() );
System.out.println("Geben sie den zweiten Faktor ein");
zahlzwei = Double.parseDouble( stdin.readLine() );
System.out.println("Das Produkt ist: " + (zahleins * zahlzwei));
}
if (Antwort == 3)
{
System.out.println("Geben sie den Dividend ein");
zahleins = Double.parseDouble( stdin.readLine() );
System.out.println("Geben sie den Divisor ein");
zahlzwei = Double.parseDouble( stdin.readLine() );
System.out.println("Der Quotient ist: " + (zahleins / zahlzwei));
}
if (Antwort == 4)
{
System.out.println("Einen schoenen Tag noch!");
break;
}
if (Antwort >= 5)
{
System.out.println("Fehlerhafte Eingabe!");
}
}
}
}[/HIGHLIGHT]