PDA

Visualizza la versione completa : [JAVA] Traduzione JavaScript a Java


Tone_A
11-11-2005, 19:51
Ciao avrei bisogno di un aiuto da qualcuno che conosce un po di java script... ho questa funzione in java script appunto e vorrei partire da questa per realizzare un metodo che fa le stesse identiche cose, ma in java ...c'é qualcuno che può aiutarmi a tradurre queste istruzioni in linguaggio java???


function pochisq(x, df) {
var a, y, s;
var e, c, z;
var even; /* True if df is an even number */

var LOG_SQRT_PI = 0.5723649429247000870717135; /* log(sqrt(pi)) */
var I_SQRT_PI = 0.5641895835477562869480795; /* 1 / sqrt(pi) */

if (x <= 0.0 || df < 1) {
return 1.0;
}

a = 0.5 * x;
even = !(df & 1);
if (df > 1) {
y = ex(-a);
}
s = (even ? y : (2.0 * poz(-Math.sqrt(x))));
if (df > 2) {
x = 0.5 * (df - 1.0);
z = (even ? 1.0 : 0.5);
if (a > BIGX) {
e = (even ? 0.0 : LOG_SQRT_PI);
c = Math.log(a);
while (z <= x) {
e = Math.log(z) + e;
s += ex(c * z - a - e);
z += 1.0;
}
return s;
} else {
e = (even ? 1.0 : (I_SQRT_PI / Math.sqrt(a)));
c = 0.0;
while (z <= x) {
e = e * (a / z);
c = c + e;
z += 1.0;
}
return c * y + s;
}
} else {
return s;
}
}

:bhò:

unomichisiada
12-11-2005, 01:40
Primo inserisci il codice tra i tag CODE la prossima volta (il fatto che non lo sappia significa che non hai letto il regolamento quindi fallo).
Secondo ho un paio di domande per riuscire ad aiutarti:

-Cosa deve fare questo codice?Cioè a cosa serve?
-cosa ci deve andare nella variabile even? In altre parole a che cosa serve anche questa?
-Cosa fa la funzione ex in javascript?
-Cosa fa la funzione poz in javascript?
-Dove è stato dichiarato BIGX? Cos'è una costante predefinita?Se si quanto vale?

Ti faccio notare che gran parte di queste domande sono dovute al fatto che lo stile di programmazione di chi ha scritto il codice (non so se sei tu) fa largo uso di identificatori cortissimi pregiudicando drasticamente la leggibilità del codice. Identificatori come df,s,c... non dicono nulla su quale sia la loro funzione nel codice. In altre parole se una variabile memorizza il raggio di un cerchio invece che c è meglio chiamarla radius o al limite r (ma solo perchè r è la lettera comunememnte usata dai matematici per indicare un raggio, se no è troppo corto).Poi magari il codice non l'hai scritto neanche tu :stordita: :zizi: :ciauz:

Tone_A
17-11-2005, 18:35
Grazie sono riuscito a risolvere cmq!!!

byaur
17-11-2005, 18:45
Originariamente inviato da unomichisiada
Primo inserisci il codice tra i tag CODE la prossima volta (il fatto che non lo sappia significa che non hai letto il regolamento quindi fallo).
Secondo ho un paio di domande per riuscire ad aiutarti:


io aggiungerei anche l'indentazione che facilita notevolmente la comprensione!!!

:ciauz: :ciauz: :ciauz: :unz: :biifu:

Loading