Enderounet
Messages postés29Date d'inscriptionmardi 2 août 2005StatutMembreDernière intervention30 août 2005
-
3 août 2005 à 09:27
Enderounet
Messages postés29Date d'inscriptionmardi 2 août 2005StatutMembreDernière intervention30 août 2005
-
5 août 2005 à 13:51
J'ai cette méthode dans ma classe qui est un peu barbare :
protected static double CalculB(int J, int S, double B, double DB, double BZ){
double RC, DZ, RX, sO, fO, nO, iO, eO, sC, fC, nC, iC, eC, nu, de;
RX = OrCd/CuivreCd;
sO = 15.622;
fO = 0.21;
nO = 0.0030576;
iO = 1490;
eO = 4.906;
sC = 0.7115;
fC = 0.45;
nC = 0.006549;
iC = 2.79;
eC = 577;
nu = nO * fO * (sO * ((StrictMath.pow(50000, B-1/2)-StrictMath.pow(0.5, B-1/2))/(B-1/2)) + iO * StrictMath.pow(eO, B));
de = nC * fC * (sC * ((StrictMath.pow(50000, B-1/2)-StrictMath.pow(0.5, B-1/2))/(B-1/2)) + iC * StrictMath.pow(eC, B));
RC = nu / de;
DZ = RC - RX;
if (DZ < 0) S = -1;
Min = StrictMath.abs(DZ) / RX; if (B 0) BZ Min;
if (Min < DB)
{
DB = DB / 10;
J = J - 1;
if (J <= 0) return B;
else
{
BZ = Min;
B = B + S * DB;
return CalculB(J, S, B, DB, BZ);
}
}
else
{
if (BZ < Min)
{
B = B - S * DB;
return B;
}
else
{
BZ = Min;
B = B + S * DB;
return CalculB(J, S, B, DB, BZ);
}
}
}
Elle est censée représenter un algo de calcul, mais au test j'ai ce message d'erreur:
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
at criticité.Données.CalculB(Données.java:57)
at criticité.Données.CalculB(Données.java:81)
Problème de mémoire? de récursivité? ...
Cet algo est a la base ecrit en BASIC et ca passe bien ( test avec des valeurs calculées, et je tombe pas en boucle infinie ).
Help merci