Ich habe da ein Problem mit einer Iterationsschleife.
Quelcode:
...
Wenn ich das Programm ausführen möchte, dann kommt eine Fehlermeldung, dass die Vaiable a in "ha = Math.sqrt(3)/2*a;" möglicherweise nicht initialisiert wird.
Kann mir jemand sagen was da fehlt oder was falsch ist?
Quelcode:
Code:
...
//Kugelabstand
if (ue>1.0 || ue<=0.0){
System.out.println("Falsche Eingabe! Der Überdeckungsgrad muss zwischen 0% und 100% liegen.");
}
else {
if (ue<=0.907 )
{
a = Math.sqrt(2*pi*r_k*r_k/(Math.sqrt(3)*ue));
}
else /*Iterationsschleife*/
{
boolean konvergenz = false;
a=r/2; //beliebiger Startwert
while (konvergenz)
{
double xi = 2*Math.acos(a/(2*r_k));
double schnitt = 0.5*r_k*r_k*(xi-Math.sin(xi));
double ue_test=(2*pi*r_k*r_k-12*schnitt)/(Math.sqrt(3.0)*a*a);
if(ue_test>1.0001*ue)
{
a=a+0.0001;
}
if(ue_test<0.9999*ue)
{
a=a-0.0001;
}
}
konvergenz = true;
}
}
//Kugelbahnabstand
ha = Math.sqrt(3)/2*a;
Wenn ich das Programm ausführen möchte, dann kommt eine Fehlermeldung, dass die Vaiable a in "ha = Math.sqrt(3)/2*a;" möglicherweise nicht initialisiert wird.
Kann mir jemand sagen was da fehlt oder was falsch ist?