Wenn ich folgenden Quelltext eingebe dann funktioniert das Programm ohne Fehner:
Wenn ich dann allerdings in meinem letzten Else-fall die zeile
lösche dann funktioniert das programm nicht mehr... also wenn ich die lösche bzw auskommentiere.
Wenn ich die Zeile auskommentiere sagt er mir bei allen darauffolgenden variablen namens fErgebnis
The local variable fErgebnis may not have been initialized
kann mir das einer erklären?
Code:
import java.io.*;
public class ErsteÜbung {
public static void main(String[] args) throws IOException {
BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
String sEingabezeile;
float fErgebnis;
String sOperant;
float fZahl1;
float fZahl2;
System.out.println("Dieser Taschenrechner kann die vier Grundrechenarten.");
System.out.print("Bitte geben Sie die erste Zahl ein: ");
sEingabezeile = eingabe.readLine();
fZahl1 = Integer.parseInt(sEingabezeile);
System.out.print("Bitte geben Sie einen Operanden ein: ");
sOperant = eingabe.readLine();
System.out.print("Bitte geben Sie die zweite Zahl ein: ");
sEingabezeile = eingabe.readLine();
fZahl2 = Integer.parseInt(sEingabezeile);
System.out.println(" ");
if (sOperant.equals("+")) {
fErgebnis = fZahl1 + fZahl2;
}
else { if (sOperant.equals("-")) {
fErgebnis = fZahl1 - fZahl2;
}
else { if (sOperant.equals("/")) {
fErgebnis = fZahl1 / fZahl2;
}
else { if (sOperant.equals("*")) {
fErgebnis = fZahl1 * fZahl2;
}
else {
System.out.println("Bitte gültigen Operanten eingeben!") ;
fErgebnis = fZahl1 / fZahl2;
}
}
}
}
// fErgebnis = (iZahl1 sOperant iZahl2);
double dErgebnis = (double) fErgebnis;
long lErgebnis = (long) fErgebnis;
int iErgebnis = (int) fErgebnis;
String sErgebnis = String.valueOf(fErgebnis);
byte bErgebnis = (byte) fErgebnis;
short shErgebnis = (short) fErgebnis;
System.out.println(fZahl1 + " " + sOperant + " " + fZahl2);
System.out.println("Float " + fErgebnis);
System.out.println("Short " + shErgebnis);
System.out.println("Byte " + bErgebnis);
System.out.println("String " + sErgebnis);
System.out.println("Int " + iErgebnis);
System.out.println("Double " + dErgebnis);
System.out.println("Long " + lErgebnis);
} // Ende void main
} // Ende class ErsteÜbung
Wenn ich dann allerdings in meinem letzten Else-fall die zeile
Code:
fErgebnis = fZahl1 / fZahl2;
Wenn ich die Zeile auskommentiere sagt er mir bei allen darauffolgenden variablen namens fErgebnis
The local variable fErgebnis may not have been initialized
kann mir das einer erklären?