Problème java création de calculatrice console
Résolu
beno-yac
Messages postés
96
Date d'inscription
Statut
Membre
Dernière intervention
-
beno-yac Messages postés 96 Date d'inscription Statut Membre Dernière intervention -
beno-yac Messages postés 96 Date d'inscription Statut Membre Dernière intervention -
Bonjour ,
je suis novice en programmation et je souhaiterai savoir quel est le problème dans mon code et pourquoi il boucle quand je clique non la partie do while quand je choisi la réponse "O"
je vous mets en copie le code merci de votre aide
je suis novice en programmation et je souhaiterai savoir quel est le problème dans mon code et pourquoi il boucle quand je clique non la partie do while quand je choisi la réponse "O"
je vous mets en copie le code merci de votre aide
package calculatrice; import java.util.Scanner; public class Main { public static void main(String[] args) { Calculatrice fonction =new Calculatrice(); Scanner sr = new Scanner(System.in); boolean cond1= true; boolean cond2= true; String expression = sr.nextLine(); while(cond1) { if(expression.contains("+")) { float x = Float.parseFloat(expression.split("\\+")[0]); float y = Float.parseFloat(expression.split("\\+")[1]); float c = fonction.somme(x, y); System.out.println("le resultat " + c); } if(expression.contains("-")) { float x = Float.parseFloat(expression.split("\\-")[0]); float y = Float.parseFloat(expression.split("\\-")[1]); float c = fonction.soustraction(x, y); System.out.println("le resultat " + c); } if(expression.contains("*")) { float x = Float.parseFloat(expression.split("\\*")[0]); float y = Float.parseFloat(expression.split("\\*")[1]); float c = fonction.multiplication(x, y); System.out.println("le resultat " + c); } if(expression.contains("/")){ float x = Float.parseFloat(expression.split("\\/")[0]); float y = Float.parseFloat(expression.split("\\/")[1]); float c = fonction.divion(x, y); System.out.println("le resultat " + c); } do{ System.out.println("voulez vous effecteur une autre operation"); System.out.println("O pour Oui "); System.out.println("N pour Non "); String choix = sr.nextLine(); if ((!(choix.equals("O")))&& (!(choix.equals("N")))) { cond2 =false; System.out.println("La valeur saisit n'est pas Correcte veulliez choisir N ou O seulement"); } else if(choix.equals("N")) { cond1=false; } else { System.out.println("Entrez une nouvelle valeur à calculer"); } }while(cond2); } } }
A voir également:
- Problème java création de calculatrice console
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Creation de compte google - Guide
- Creation de site web - Guide
- Creation compte gmail - Guide
premièrement merci pour ta réponse
Je travaille avec l'IDE Eclipse et j'ai faire un debug et je te tiens au courant mais normalement ça ne marche pas car quand j'essaye ça boule sans fin sur le do while
Et juste pour t'expliquer un peu plus: l'utilisateur tape une expression en rentre dans notre while cond1 est vrai on l'évalue puis on rentre dans dans un do while et sa variable cond2pour lui demander si il souhaiterais taper une autre expression puis on lis se qu'il tape si c'est "O" on tape reviens au debut si c'est "N" on sort fin du programme et si c'est ni "N" ni "O" on reboucle dans le do while jusqu'à se qu'il tapes la bonne lettre.
Au lieu de faire :
Il faudrait faire :
Sinon, tu redemandes jamais la nouvelle ligne à entrer.
Et à la fin, au lieu de faire :
Il faudrait faire :
Sinon, tu ne sors pas de la boucle.
Remarque : globalement ton programme peut facilement se simplifier, d'une part sur la partie split à répétition pour chaque cas, d'autre part sur l'imbrication des boucles.