Citation:
Il faut pas partir si loin dans la modélisation avec des interfaces, générics, abstract etc... Rien empeche de faire ca après une implémentation de classes concretes.
Oui, d'accord. C'est cette vilaine habitude de vouloir faire des choses propres et extensibles.
Citation:
Commence par faire une classe OperationNode qui peut contenir d'autres OperationsNode (une arrayList c'est bien), ou alors deux champs puisque c'est binaire, et pas forcément commutatif. Ensuite tu assignes à chaque noeuds un type (genre +, - ou autre) ou opérateur=true ou false (si un nombre) et une valeur (valeur de l'opérateur +/- etc ou le nombre 23, 141 etc).
Oui, c'est pas mal. Mais on perd un peu en sûreté : si le booléen est modifié par mégarde, le programme risque de planter à l'exécution (oui, j'ai cette manie de vouloir que le compilateur vérifie tout ce que je tape). Et on gaspille de la place inutilement (d'accord, on s'en fiche).
Citation:
Selon les besoins que tu sembles indiquer (appeler une fonction avec des paramètres comme dans ton make), en java tu ne devrais pas avoir besoin d'une structure d'arbre... Après, tu as peut-être des besoins plus complexes que ton exemple donné...
Le make sert juste à construire mon arbre. Si le but était juste de calculer la valeur, j'aurais directement écrit "5 + 3". :)