Calculatrice en java helpp
Fermé
gmachi10
Messages postés
10
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
8 mai 2006
-
27 avril 2006 à 10:19
Mario1095 Messages postés 168 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 6 mai 2009 - 29 sept. 2007 à 21:56
Mario1095 Messages postés 168 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 6 mai 2009 - 29 sept. 2007 à 21:56
A voir également:
- Calculatrice en java helpp
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Installer calculatrice sur mon portable - Télécharger - Calcul & Conversion
- Calculatrice gratuit - Télécharger - Calcul & Conversion
10 réponses
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
27 avril 2006 à 11:19
27 avril 2006 à 11:19
salut
dans ta classe agentAddi, il n'y aucune valeur initialisée ... (a et b, String exp )....
dans ton test, tu fais appel à une methode de ta classe découpeur d'expression ... (estUne Addition), ok mais pour que ça fonctionne il faudrait qu'elle soit instanciée quelquepart .. Cette classe est instanciée dans la classe main Resolveur mais tu n'as aucune visibilité dessus ... Pour que ça fonctionne, tu dois l'instancier dans ton agent et non dans le résolveur. Il faut aussi que ton String exp contienne une valeur (qui dans l'agent addi est forcément un "+") ..
Enfin, en lisant tes deux dernière classes, elle ne sont pas terminées, donc c'est nromal que ça ne fonctionne pas ..
dans ta classe agentAddi, il n'y aucune valeur initialisée ... (a et b, String exp )....
dans ton test, tu fais appel à une methode de ta classe découpeur d'expression ... (estUne Addition), ok mais pour que ça fonctionne il faudrait qu'elle soit instanciée quelquepart .. Cette classe est instanciée dans la classe main Resolveur mais tu n'as aucune visibilité dessus ... Pour que ça fonctionne, tu dois l'instancier dans ton agent et non dans le résolveur. Il faut aussi que ton String exp contienne une valeur (qui dans l'agent addi est forcément un "+") ..
Enfin, en lisant tes deux dernière classes, elle ne sont pas terminées, donc c'est nromal que ça ne fonctionne pas ..
gmachi10
Messages postés
10
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
8 mai 2006
27 avril 2006 à 12:32
27 avril 2006 à 12:32
Merci pour ta réponse.Je vais essayer cette après midi les indications que tu m'a données.Je renverrai un mail ce soir avant 21h30 pour dire si j'y suis arrivé ou non.Merci encore.
gmachi10
Messages postés
10
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
8 mai 2006
28 avril 2006 à 20:58
28 avril 2006 à 20:58
J'ai essayé de faire ta méthode , mais voilà je n'y arrive pas.Je débute et je suis dans le flou total , si jpoussé avoir pti cou de pousse au nivo du code ca m'aideré .Merci tout le monde.
gmachi10
Messages postés
10
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
8 mai 2006
30 avril 2006 à 10:21
30 avril 2006 à 10:21
Hello.Je suis arrivé a initialiser le tableau noir é le découpeur et à lire des expression avec une classe lecture , mais mon agent adi ne fonctionne pas , il me met une erreur de syntaxe sur le if(estuneaddition(String exp)) , manque une paranthèse , maise je ne la trouve pas.Merci d'avance pour vos réponses
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
2 mai 2006 à 09:06
2 mai 2006 à 09:06
c'est normal ...
"estUneAddition" est une méthode d'une classe (DecoupeurExpressions)
donc pour appeler cette méthode, il faut instantier cette classe dans ta classe AgentAddi et faire comme ceci
// instanciation dans les attributs de la classe AgentAddi
// appel de la methode
"estUneAddition" est une méthode d'une classe (DecoupeurExpressions)
donc pour appeler cette méthode, il faut instantier cette classe dans ta classe AgentAddi et faire comme ceci
// instanciation dans les attributs de la classe AgentAddi
private DecoupeurExpressions decoupExpr = new DecoupeurExpressions( // ici tu mets les arguments nécessaire: voir le constructeur de cette classe);
// appel de la methode
if(decoupExpr.estUneAddition("+")){ ....... // suite de ton code
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
24 mai 2006 à 11:51
24 mai 2006 à 11:51
Salut!
Ca me paraît bien compliqué tout ça....
Pourquoi ne pas profiter de la puissance de la programmation orientée objet?
Classe abstraite 'be.hacktrack.calculator.Operation'
Classes concrètes Addition, Substraction, Division, Multiplication, Power
Classe de test: be.hacktrack.Calculator
;-)
HackTrack
Ca me paraît bien compliqué tout ça....
Pourquoi ne pas profiter de la puissance de la programmation orientée objet?
Classe abstraite 'be.hacktrack.calculator.Operation'
package be.hacktrack.calculator; public abstract class Operation { protected double x; protected double y; protected Operation opsX; protected Operation opsY; protected Operation(double x, double y) throws Exception { this.x = x; this.y = y; } public Operation(double x, Operation ops2) throws Exception { this.x = x; this.opsY = ops2; } public Operation(Operation ops1, double y) throws Exception { this.opsX = ops1; this.y = y; } public Operation(Operation ops1, Operation ops2) throws Exception { this.opsX = ops1; this.opsY = ops2; } public double getResult() throws Exception { if (opsX != null) x = opsX.getResult(); if (opsY != null) y = opsY.getResult(); return calculate(); } protected abstract double calculate() throws Exception; }
Classes concrètes Addition, Substraction, Division, Multiplication, Power
package be.hacktrack.calculator; public class Addition extends Operation { public Addition(double x, double y) throws Exception { super(x, y); } public Addition(double x, Operation opsY) throws Exception { super(x, opsY); } public Addition(Operation ops1, double y) throws Exception { super(ops1, y); } public Addition(Operation opsX, Operation opsY) throws Exception { super(opsX, opsY); } protected double calculate() { return x + y; } } package be.hacktrack.calculator; public class Division extends Operation { public Division(double x, double y) throws Exception { super(x, y); } public Division(double x, Operation opsY) throws Exception { super(x, opsY); } public Division(Operation ops1, double y) throws Exception { super(ops1, y); } public Division(Operation opsX, Operation opsY) throws Exception { super(opsX, opsY); } protected double calculate() throws Exception { return x/y; } } package be.hacktrack.calculator; public class Multiplication extends Operation { public Multiplication(double x, double y) throws Exception { super(x, y); } public Multiplication(double x, Operation opsY) throws Exception { super(x, opsY); } public Multiplication(Operation ops1, double y) throws Exception { super(ops1, y); } public Multiplication(Operation opsX, Operation opsY) throws Exception { super(opsX, opsY); } protected double calculate() { return x*y; } } package be.hacktrack.calculator; public class Power extends Operation { public Power(double x, double y) throws Exception { super(x, y); } public Power(double x, Operation opsY) throws Exception { super(x, opsY); } public Power(Operation ops1, double y) throws Exception { super(ops1, y); } public Power(Operation opsX, Operation opsY) throws Exception { super(opsX, opsY); } protected double calculate() throws Exception { return Math.pow(x,y); } } package be.hacktrack.calculator; public class Substraction extends Operation { public Substraction(double x, double y) throws Exception { super(x, y); } public Substraction(double x, Operation opsY) throws Exception { super(x, opsY); } public Substraction(Operation ops1, double y) throws Exception { super(ops1, y); } public Substraction(Operation opsX, Operation opsY) throws Exception { super(opsX, opsY); } protected double calculate() { return x - y; } }
Classe de test: be.hacktrack.Calculator
import be.hacktrack.calculator.Addition; import be.hacktrack.calculator.Division; import be.hacktrack.calculator.Multiplication; import be.hacktrack.calculator.Power; import be.hacktrack.calculator.Substraction; public class Calculator { public Calculator() { super(); } public void startTest() throws Exception{ //Exemple:( ((12*7)/(1+3))-19 )^3 = 8 Multiplication m1 = new Multiplication(12,7); Addition a1 = new Addition(1,3); Division d1 = new Division(m1,a1); Substraction s1 = new Substraction(d1,19); Power p1 = new Power(s1,3); System.out.println(p1.getResult()); } public static void main(String args[]){ Calculator calc = new Calculator(); try { calc.startTest(); } catch (Exception e) { e.printStackTrace(); } } }
;-)
HackTrack
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
24 mai 2006 à 11:55
24 mai 2006 à 11:55
total respect .... ;-)
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
24 mai 2006 à 13:47
24 mai 2006 à 13:47
ava bien merchi ..
Mario1095
Messages postés
168
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
6 mai 2009
12
26 sept. 2007 à 14:44
26 sept. 2007 à 14:44
ça fonctionne en beanShell ???
Mario1095
Messages postés
168
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
6 mai 2009
12
29 sept. 2007 à 21:56
29 sept. 2007 à 21:56
Tu m'as piqué mon idée !