Calculatrice flottante en java

Bonjour,
Je suis nouveau sur ce forum et débutant en programmation java, j’essaye de faire un programme en java mais j’ai un problème.
En fait je voudrais demander deux opérandes à l’utilisateur ainsi que l’opération à effectuer (+ - * /).
La compilation se passe bien mais au moment de rentrer ma première operande, le programme s’arrete et j’ai un message d’erreur qui s’affiche et je ne comprends pas pourquoi.
Le code source de mon programme est le suivant :

Code :

  1. /*

    • Calculatrice2.java 27/10/2009
    • Programme de calcul sur deux opérandes
  2. */

  3. // package default

  4. // importation

  5. import java.util.Scanner ;

  6. /**

    • interaction sur console texte
    • operations sur deux opérandes
    • @version 1.0
  7. */

  8. public class calculatrice2 {

  9. /**

  10. * E/S sur console avec l'utilisateur
    
  11. * addition, soustraction, multiplication, division de deux opérandes
    
  12. */
    
  13. public static void main(String[]args) {

  14. // examen du tampon d'entree
    
  15. Scanner entree = new Scanner(System.in);
    
  16. // initialisation des variables
    
  17. Float opgauche, opdroit, resultat;
    
  18. char operateur;
    
  19. String texte;
    
  20. // demande à l'utilisateur d'entrer la premiere operande
    
  21. System.out.print("Entrez un premier operande :" );
    
  22. opgauche = entree.nextFloat();
    
  23. // demande à l'utilisateur d'entree l'operateur souhaitée
    
  24. System.out.print("Entrez l'operateur souhaitee :" );
    
  25. texte = entree.nextLine();
    
  26. operateur = texte.charAt(0);
    
  27. System.out.print("Entrez un deuxieme operande :" );
    
  28. opdroit = entree.nextFloat();
    
  29. // calcule et affiche le resultat de l'operation
    
  30. if (operateur == '+'){    
    
  31.     resultat = opgauche+opdroit;
    
  32.     System.out.print("Le résultat de votre operation est :" +resultat);
    
  33. }
    
  34. if (operateur == '-'){
    
  35.     resultat = opgauche-opdroit;
    
  36.     System.out.print("Le résultat de votre operation est :" +resultat);
    
  37. }
    
  38. if (operateur=='*'){
    
  39.     resultat = opgauche*opdroit;
    
  40.     System.out.print("Le résultat de votre operation est :" +resultat);
    
  41. }
    
  42. if (operateur == '/'){
    
  43.     resultat = opgauche/opdroit;
    
  44.     System.out.print("Le résultat de votre operation est :" +resultat);
    
  45. }
    
  46. }

  47. }

Merci d’avance aux courageux qui lirons et/ou répondrons à mon message :slight_smile:
Edité le 30/10/2009 à 16:10

Ton programme est trop chiant à lire … C’est quoi le message d’erreur ?

Roh, c’est mesquin ! pour une fois qu’on a le numéro de ligne :slight_smile: manque plus que l’erreur quoi :smiley:

Ligne 35
texte = entree.nextLine();

Ca marche mieux avec
texte = entree.next();

Bon courage.

Moi je suis d’accord avec Vitamin c’est dur à lire par contre c’est vrai pour un fois on a les lignes.
Un peu d’indentation est ce sera parfait pour debogger