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
afficherMenu()→ imprime les options.lireChoix(Scanner sc)→ renvoie un int entre 0 et 4.lireOperande(Scanner sc, String nom)→ renvoie un double.- Une méthode par opération :
addition(a, b),soustraction(a, b),multiplication(a, b),division(a, b). boucleCalculatrice(Scanner sc)→ orchestre le tout avec undo…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).