EVALUATION NUMÉRIQUE NOTATION INFIXE EN PASSANT PAR NOTATION POLONAISE INVERSÉE

Signaler
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
Messages postés
1
Date d'inscription
vendredi 21 mai 2010
Statut
Membre
Dernière intervention
24 mai 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51598-evaluation-numerique-notation-infixe-en-passant-par-notation-polonaise-inversee

Messages postés
1
Date d'inscription
vendredi 21 mai 2010
Statut
Membre
Dernière intervention
24 mai 2010

Code très pratique mais j'y ai relevé quelques erreurs dans la classe CNpi :
ligne 113 : "for ( int j = 0; j < sscm.length; j++ )"
à remplacer par : "for ( int j = 0; j < sscd.length; j++ )"
sinon les divisions ne sont pas prises mises dans la pile (correction à vérifier, je ne suis pas expert).

et un autre problème dans la classe CNpi : 8-3 donne :
[8]
[+]
[3]
[-]
dans la pile, la classe Npi plante donc sur le "+" vu qu'elle n'a pas 2 opérandes à additionner.
Correctif : classe Npi ligne 67
Remplacer : "operateur(s.charAt(0));"
Par : if (i!=1) {
operateur(s.charAt(0));
}

Tout ça est a vérifier mais tout marche correctement dans mon appli depuis que j'ai effectué ces modifications.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
342
Bien que ce code soit assez simple (deux classes, et calcul connu), il demeure néanmoins très difficile à comprendre. Il manque de commentaires (le cadre de javadoc serait suffisant) et tes noms de variables ne sont pas explicites.

Je ne note pas.