Hi, ich bin's nochmal ;-)
Habe ein Programm zur Mitternachtsformel geschrieben, für die die's noch nicht wissen, und habe nun folgendes Problem:
(erst der Code, zum verstehen
Also der Compiler bringt folgenden Error:
Nun weiss ich ja, dass es vorkommen KANN, dass xeins kein wert zugewiesen werden kann.
Aber wie genau kann das passieren? und wenn es passieren kann, dann müsste ich ja theoretisch in den ersten beiden IF-Teilen einfach sagen, dass weder xeins, noch xzwei ein Wert zugewiesen wird.
Geht das irgendwie? Kann ich sagen
xnull = (nix, aber wie drück ich das aus? ^^)
Habe ein Programm zur Mitternachtsformel geschrieben, für die die's noch nicht wissen, und habe nun folgendes Problem:
(erst der Code, zum verstehen
Code:
import java.util.*;
/**
*
* Programm zum berechnen von x1 und x2
* mit der Mitternachtsformel
*
* @version 0.1 vom 08.12.2006
* @P.P
*/
public class Mitternachtsformel {
public static void main(String[] args) {
Scanner eingabe = new Scanner(System.in);
//Variablen
double a, b, c, xeins, xzwei, xnull;
//Begruessung
System.out.println("Herzlich Willkommen zum Mitternachtsberechner 0.1");
System.out.println();
System.out.println("Bite geben Sie a, b und c ein: ");
System.out.print("a: ");
a = eingabe.nextDouble();
System.out.print("b: ");
b = eingabe.nextDouble();
System.out.print("c: ");
c = eingabe.nextDouble();
System.out.println();
//Verarbeitung
if (b*b-4*a*c < 0) {
//Ausgabe fuer Diskriminante < 0
System.out.println("Wurzel ist negativ! --> Keine Loesung");
}
else if (b*b-4*a*c == 0) {
xnull = (-b)/(2*a);
//Ausgabe fuer Diskriminante == 0
System.out.print("Wurzel ist genau 0! --> Eine Loesung: "+xnull);
}
else
xeins = (-b+Math.sqrt(b*b-4*a*c))/(2*a);
xzwei = (-b-Math.sqrt(b*b-4*a*c))/(2*a);
//Endausgabe für alles andere
System.out.println("x1 = "+xeins);
System.out.println("x2 = "+xzwei);
}
}
Also der Compiler bringt folgenden Error:
Mitternachtsformel.java:45: variable xeins might not have been initialized
System.out.println("x1 = "+xeins);
__________________^
1 error
Nun weiss ich ja, dass es vorkommen KANN, dass xeins kein wert zugewiesen werden kann.
Aber wie genau kann das passieren? und wenn es passieren kann, dann müsste ich ja theoretisch in den ersten beiden IF-Teilen einfach sagen, dass weder xeins, noch xzwei ein Wert zugewiesen wird.
Geht das irgendwie? Kann ich sagen
xnull = (nix, aber wie drück ich das aus? ^^)