EVALUATION NUMÉRIQUE NOTATION INFIXE EN PASSANT PAR NOTATION POLONAISE INVERSÉE
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
13 avril 2010 à 07:17
cs_lumii
Messages postés1Date d'inscriptionvendredi 21 mai 2010StatutMembreDernière intervention24 mai 2010
-
24 mai 2010 à 16:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_lumii
Messages postés1Date d'inscriptionvendredi 21 mai 2010StatutMembreDernière intervention24 mai 2010 24 mai 2010 à 16:09
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.
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 13 avril 2010 à 07:17
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.
24 mai 2010 à 16:09
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.
13 avril 2010 à 07:17
Je ne note pas.