Calculatrice d'expressions arithmétiques simple
Fermé
Bekatni
Messages postés
11
Date d'inscription
mercredi 20 avril 2011
Statut
Membre
Dernière intervention
21 avril 2011
-
20 avril 2011 à 22:39
sakoba2010 Messages postés 157 Date d'inscription lundi 7 février 2011 Statut Membre Dernière intervention 24 juillet 2013 - 21 avril 2011 à 17:55
sakoba2010 Messages postés 157 Date d'inscription lundi 7 février 2011 Statut Membre Dernière intervention 24 juillet 2013 - 21 avril 2011 à 17:55
A voir également:
- Calculatrice d'expressions arithmétiques simple
- Simple ocr - Télécharger - Bureautique
- Iphone 14 simple - Guide
- Simple file locker - Télécharger - Sécurité
- Installer calculatrice sur mon portable - Télécharger - Calcul & Conversion
- Calculatrice gratuit - Télécharger - Calcul & Conversion
3 réponses
sakoba2010
Messages postés
157
Date d'inscription
lundi 7 février 2011
Statut
Membre
Dernière intervention
24 juillet 2013
15
21 avril 2011 à 17:18
21 avril 2011 à 17:18
Pourquoi tu n'utilise pas la classe ScriptEngine C'est très simple pour exécuter ces genre d'opération.
exemple:
voir ça:
http://sakoba.byethost13.com/...
exemple:
String script = "print(5*10)"; engine.eval(script);
voir ça:
http://sakoba.byethost13.com/...
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
20 avril 2011 à 23:30
20 avril 2011 à 23:30
Regarde le post 'calcul de la valeur en java' j'y avais expliqué une méthode.
Bekatni
Messages postés
11
Date d'inscription
mercredi 20 avril 2011
Statut
Membre
Dernière intervention
21 avril 2011
20 avril 2011 à 23:58
20 avril 2011 à 23:58
Salut,
Merci beaucoup mais j'ai essayé de faire un arbre mais je n'y suis pas arrivé car je suis un débutant en Java et je ne sait pas faire la récursivité.
Si tu pouvais me l'expliquer ou me donner un exemple je t'en serais très reconnaissant.
Merci beaucoup de ton aide.
Merci beaucoup mais j'ai essayé de faire un arbre mais je n'y suis pas arrivé car je suis un débutant en Java et je ne sait pas faire la récursivité.
Si tu pouvais me l'expliquer ou me donner un exemple je t'en serais très reconnaissant.
Merci beaucoup de ton aide.
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
21 avril 2011 à 12:35
21 avril 2011 à 12:35
Voici un début de code pour un Arbre d'évaluation, j'ai repris le même exemple.
J'ai pris des entiers puisque c'est ce que tu veux faire apparemment...
J'ai mis les constructeurs et la fonction toString pour voir comment ça se manipule.
Le principe est toujours le même, il y a une imbrication récursive de sous-arbres dans des arbre. Quand on manipule l'arbre il faut vérifier si on a des sous-arbres (différents de null) et les traiter avant de continuer.
L'évaluation de la valeur de l'arbre est très rapide à faire, le plus dur est de passer d'une chaîne de caractères à un arbre valide, mais tu as déjà commencé à traiter cette étape.
J'ai pris des entiers puisque c'est ce que tu veux faire apparemment...
J'ai mis les constructeurs et la fonction toString pour voir comment ça se manipule.
Le principe est toujours le même, il y a une imbrication récursive de sous-arbres dans des arbre. Quand on manipule l'arbre il faut vérifier si on a des sous-arbres (différents de null) et les traiter avant de continuer.
L'évaluation de la valeur de l'arbre est très rapide à faire, le plus dur est de passer d'une chaîne de caractères à un arbre valide, mais tu as déjà commencé à traiter cette étape.
public class Arbre { private String op; private Arbre ag; private Arbre ad; public Arbre(Character operateur, Arbre gauche, Arbre droit) { op=operateur.toString(); ag=gauche; ad=droit; } public Arbre(Integer operande) { op=operande.toString(); ag=null; ad=null; } public String toString() { String s=op; if (ag!=null) s+=" "+ag.toString(); if (ad!=null) s+=" "+ad.toString(); return s; } public static void main(String args[]) { Arbre a = new Arbre('*', new Arbre('+', new Arbre(1), new Arbre(2)), new Arbre('-', new Arbre(3), new Arbre(4))); System.out.println(a); // * + 1 2 - 3 4 } }
Bekatni
Messages postés
11
Date d'inscription
mercredi 20 avril 2011
Statut
Membre
Dernière intervention
21 avril 2011
21 avril 2011 à 14:33
21 avril 2011 à 14:33
merci bcp ,j'ai bien compris!!!!
mais je veux bien savoir si on va prendre une expression qqe ça marche comme meme?
comment calculer sa valeur?
merci :)
mais je veux bien savoir si on va prendre une expression qqe ça marche comme meme?
comment calculer sa valeur?
merci :)
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
21 avril 2011 à 14:54
21 avril 2011 à 14:54
Pour calculer sa valeur, tu différencies plusieurs cas :
Si ton arbre est une feuille (null à gauche et à droite), op est une opérande, donc c'est un entier que tu peux évaluer avec parseInt.
Sinon (il y a des sous-arbres), op est un opérateur, donc c'est un caractère et tu peux faire un switch.
Par exemple, si l'opérateur est '+' le résultat sera l'addition de l'évaluation de l'arbre de gauche et de l'évaluation de 'arbre droit.
Pour une expression quelconque ça devrait marcher à condition de switcher tous les opérateurs que tu peux rencontrer.
Si ton arbre est une feuille (null à gauche et à droite), op est une opérande, donc c'est un entier que tu peux évaluer avec parseInt.
Sinon (il y a des sous-arbres), op est un opérateur, donc c'est un caractère et tu peux faire un switch.
Par exemple, si l'opérateur est '+' le résultat sera l'addition de l'évaluation de l'arbre de gauche et de l'évaluation de 'arbre droit.
Pour une expression quelconque ça devrait marcher à condition de switcher tous les opérateurs que tu peux rencontrer.
Bekatni
Messages postés
11
Date d'inscription
mercredi 20 avril 2011
Statut
Membre
Dernière intervention
21 avril 2011
21 avril 2011 à 14:57
21 avril 2011 à 14:57
merci :)
je vais essayé !!!
(je suis encore débutant en java je connait pas les switchs...)
:)
je vais essayé !!!
(je suis encore débutant en java je connait pas les switchs...)
:)
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
21 avril 2011 à 15:01
21 avril 2011 à 15:01
Avant de continuer, apprend au moins les bases du langage Java, sinon ça ne sers à rien !
Voir Langage Java et en particulier les structures conditionnelles en Java.
Voir Langage Java et en particulier les structures conditionnelles en Java.
Bekatni
Messages postés
11
Date d'inscription
mercredi 20 avril 2011
Statut
Membre
Dernière intervention
21 avril 2011
21 avril 2011 à 15:03
21 avril 2011 à 15:03
tu peut pas me donner un exemple de création d'un d'arbre qq?
Merci :)
Merci :)
21 avril 2011 à 17:50
21 avril 2011 à 17:55
C'est plus facile avec ta proposition, on laisse le choix à l'utilisateur.
merci