Page 1 sur 1
java vers pb
Publié : mar. 08/mars/2011 18:20
par Scrat
Salut
j'ai un souci pour traduire une ligne de code java en pb
le java
Code : Tout sélectionner
if (Math.abs(X2) > Math.PI/2) X2 = X2>0 ? Math.PI-X2 : -(Math.PI-X2)
Je ne vois pas comment interpreter l'expression X=X2>0
sans cette expression on pourrait traduire par
avez vous une idée
Merci
Re: java vers pb
Publié : mar. 08/mars/2011 18:45
par MLD
Salut
regarde si c'est ok. Sans garantie
if X2 > 0
x=x2
endif
Re: java vers pb
Publié : mar. 08/mars/2011 18:55
par GeBonet
Seul attention c'est que X2 doit être au moins de type .f soit => X2.f
Sinon considéré comme Entier !
Pour tester écrit au tout début de ta séquence :
X2=3.55 et test...
puis après avec
X2.f=3.55
Tu pourra apprécier la différence

!
Re: java vers pb
Publié : mar. 08/mars/2011 18:59
par Scrat
@MLD
Oui isolé ça parait logique, mais cette expression est deja dans une condition
if (Math.abs(X2) > Math.PI/2) X2 = X2>0 ? Math.PI-X2 : -(Math.PI-X2)
@GeBonet
Pas probleme a ce niveau les variables sont des doubles .d
C'est l"expression en rouge dans la condition qui me fait coincer
Re: java vers pb
Publié : mar. 08/mars/2011 20:08
par G-Rom
X2.f = 3.2
If Abs(X2) > #PI/2
If X2>0
Resultat.d = #PI - X2
Else
Resultat.d = -#PI - X2
EndIf
EndIf
Debug Resultat
Ta partie en rouge utilise un opérateur ternaire "?" , si elle est vrai (la condition que tu as mis en rouge) , on execute le code à gauche de ":" , sinon on exécute à droite.
Re: java vers pb
Publié : mar. 08/mars/2011 20:28
par Scrat
Merci G-Rom, ça me semble bien ça !
C'est la double condition qui m'échappait
L'operateur ternaire je m'en sert en php mais plutôt sous la forme
A=(B>C) ? D: E;
Là je trouve pas ça lisible du tout, mais bon pourquoi pas
A+
Re: java vers pb
Publié : mar. 08/mars/2011 23:49
par Ar-S
Et
"And" tout simplement non ?
Code : Tout sélectionner
If Abs(X2) > #PI/2 And X2>0
Resultat.d = #PI - X2
Else
Resultat.d = -#PI - X2
EndIf
P.S
Si tu as résolu mets un petit [resolu] devant ton titre

[Résolu] Re: java vers pb
Publié : mer. 09/mars/2011 8:17
par Scrat
Ar-S a écrit :Et
"And" tout simplement non ?
Code : Tout sélectionner
If Abs(X2) > #PI/2 And X2>0
Resultat.d = #PI - X2
Else
Resultat.d = -#PI - X2
EndIf
Non, le ternaire s'applique sur la condition X2>0
Fait un test sur l'intervalle ]-∞;-PI/2]
A+
Ps: un petit bouton qui insere le tag résolu en couleur se serait sympa