A voir également:
- Calcul de la valeur en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
3 réponses
Pour simplifier on va dire que tu n'as que des opérateurs binaires + - * /
Dans ce cas tu peux réécrire ta formule en forme infixe dans un arbre binaire.
Il y a quelques difficultés notamment à cause de la priorités des opérateurs, mais ça se gère.
Remarque : les parenthèses disparaissent dans l'arbre.
Cet arbre est alors très facile à calculer, tu fais un switch sur l'opérateur à la racine et tu le calcules grâce aux deux opérandes arbre gauche et arbre droit que tu évalues récursivement.
"(1+2)*(3-4)" devient "* + 1 2 - 3 4" en notation préfixe, ce qui donne les arbres :
La confiance n'exclut pas le contrôle
Dans ce cas tu peux réécrire ta formule en forme infixe dans un arbre binaire.
Il y a quelques difficultés notamment à cause de la priorités des opérateurs, mais ça se gère.
Remarque : les parenthèses disparaissent dans l'arbre.
Cet arbre est alors très facile à calculer, tu fais un switch sur l'opérateur à la racine et tu le calcules grâce aux deux opérandes arbre gauche et arbre droit que tu évalues récursivement.
"(1+2)*(3-4)" devient "* + 1 2 - 3 4" en notation préfixe, ce qui donne les arbres :
* * * -3 + - 3 - 3 -1 1 2 3 4 3 4
La confiance n'exclut pas le contrôle
Merci les amis pour vos reponses.
apparemment je me suis pas bien exprimé, je veux savoir comment calculer une operation en java, une operation qui est un String. (meme une expression sans parentheses).
String s1="5-2"; ou String s2="5+3";...
comment faire pour trouver s1=3; s2=8;
apparemment je me suis pas bien exprimé, je veux savoir comment calculer une operation en java, une operation qui est un String. (meme une expression sans parentheses).
String s1="5-2"; ou String s2="5+3";...
comment faire pour trouver s1=3; s2=8;
Sans traiter l'information tu ne peux pas.
Pour le faire tu dois découper ta chaînes de caractères en opérateurs et opérandes par exemple en construisant un arbre comme je l'ai expliqué, c'est à partir de cet arbre que tu pourras calculer la valeur... Après si vraiment il ne s'agit que de une opération, tu peux essayer de parcourir ton string avec indexOf puis de le couper avec substring et enfin utiliser des valueOf
Pour le faire tu dois découper ta chaînes de caractères en opérateurs et opérandes par exemple en construisant un arbre comme je l'ai expliqué, c'est à partir de cet arbre que tu pourras calculer la valeur... Après si vraiment il ne s'agit que de une opération, tu peux essayer de parcourir ton string avec indexOf puis de le couper avec substring et enfin utiliser des valueOf