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
Mini agenda
Socle
Un carnet de prénoms stockés dans une ArrayList<String>, avec un menu : 1) Ajouter 2) Lister 3) Rechercher 4) Supprimer 0) Quitter.
Objectifs : Collections (ArrayList), boucles, sous-menus, recherche.
Fonctionnalités
rechercherPrenom(List<String> noms, String recherche)renvoie l’indice trouvé, ou-1. La recherche ignore la casse.supprimerPrenom(List<String> noms, String aSupprimer)renvoietruesi la suppression a eu lieu.listerPrenoms(List<String> noms)affiche la liste, et un message clair si elle est vide.
Étapes
afficherMenuAgenda().ajouterPrenom(List<String> noms, Scanner sc).listerPrenoms(List<String> noms).rechercherPrenom(List<String> noms, String recherche).supprimerPrenom(List<String> noms, String aSupprimer).boucleAgenda(Scanner sc)→ la boucle principale.
Critères : Pas de plantage si la liste est vide, suppression sécurisée, messages clairs.
Ici, un atelier : on y écrit et on y exécute du code. Il demande JavaScript.
Code de départ
Agenda.java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Agenda {
public static void afficherMenuAgenda() {
// TODO : 1) Ajouter 2) Lister 3) Rechercher 4) Supprimer 0) Quitter
}
public static void ajouterPrenom(List<String> noms, Scanner sc) {
// TODO : lire un prenom et l'ajouter a la liste
}
public static void listerPrenoms(List<String> noms) {
// TODO : afficher chaque prenom, ou un message si la liste est vide
}
public static int rechercherPrenom(List<String> noms, String recherche) {
// TODO : renvoyer l'indice trouve (sans tenir compte de la casse), sinon -1
return -1;
}
public static boolean supprimerPrenom(List<String> noms, String aSupprimer) {
// TODO : supprimer si present, renvoyer true en cas de succes
return false;
}
public static void boucleAgenda(Scanner sc) {
List<String> noms = new ArrayList<String>();
// TODO : do { menu, choix, action } while (choix != 0);
}
}
Exercices.java
import java.util.Scanner;
public class Exercices {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Agenda.boucleAgenda(sc);
sc.close();
}
}
Le socle se valide dans l’atelier, qui demande JavaScript.
Indice 1
Une ArrayList se parcourt comme un tableau, mais sa taille s’obtient avec size() et un élément avec get(i). Pour ignorer la casse, comparez avec equalsIgnoreCase.
Extensions
- Tri alphabétique (avec
Collections.sort). - Export / import simple en CSV, si vous avez vu les fichiers.