Version sans JavaScript, en lecture seule : les ateliers, les quiz et l’exécution du code n’y sont pas. Version complète · Catalogue · Se connecter

Séquence

Calculatrice en console

Socle

Une calculatrice qui enchaîne les opérations jusqu’à ce que l’utilisateur choisisse 0. Respectez les signatures ci-dessous : les vérifications s’appuient dessus.

Objectifs : Menus, switch, boucles, découpage en méthodes.

Fonctionnalités

  • Menu : 1) Addition 2) Soustraction 3) Multiplication 4) Division 0) Quitter.
  • Lecture de deux nombres (double) et affichage du résultat.
  • Boucle qui permet d’enchaîner les opérations jusqu’à 0 (quitter).
  • Gestion de la division par zéro : un message d’erreur, pas un plantage.

Étapes

  1. afficherMenu() → imprime les options.
  2. lireChoix(Scanner sc) → renvoie un int entre 0 et 4.
  3. lireOperande(Scanner sc, String nom) → renvoie un double.
  4. Une méthode par opération : addition(a, b), soustraction(a, b), multiplication(a, b), division(a, b).
  5. boucleCalculatrice(Scanner sc) → orchestre le tout avec un do…while.

Critères : Pas de plantage, cas d’erreur gérés, code découpé en méthodes claires.

Ici, un atelier : on y écrit et on y exécute du code. Il demande JavaScript.

Code de départ

Calculatrice.java

import java.util.Scanner;

public class Calculatrice {

    public static void afficherMenu() {
        // TODO : afficher les 5 options
    }

    public static int lireChoix(Scanner sc) {
        // TODO : lire un entier entre 0 et 4
        return 0;
    }

    public static double lireOperande(Scanner sc, String nom) {
        // TODO : demander puis lire un double
        return 0;
    }

    public static double addition(double a, double b) {
        return 0;
    }

    public static double soustraction(double a, double b) {
        return 0;
    }

    public static double multiplication(double a, double b) {
        return 0;
    }

    public static double division(double a, double b) {
        return 0;
    }

    public static void boucleCalculatrice(Scanner sc) {
        // TODO : do { menu, choix, operandes, resultat } while (choix != 0);
    }
}

Exercices.java

import java.util.Scanner;

public class Exercices {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Calculatrice.boucleCalculatrice(sc);
        sc.close();
    }
}

Le socle se valide dans l’atelier, qui demande JavaScript.

Indice 1

La division par zéro sur des double ne lève pas d’exception : elle donne Infinity. C’est à vous de tester b == 0 avant de diviser.

Extensions

  • Historique des calculs (via ArrayList<String>).
  • Mode scientifique : puissance, racine carrée (vérifier les domaines).