IN3R11-2 – TD7  2010/2011      
Sujet v1

 

Durée : 1 h

 

1         Objectifs

·         Maîtriser la déclaration, la création, et l’utilisation simple d’une collection générique

·         Savoir lire des données saisies au clavier

2         Liste d’entiers

1.       Créer une classe ListeEntiers avec un attribut et 3 méthodes :

2.       Un attribut aListe du type ArrayList d’entiers

3.       Un constructeur sans paramètres pour créer la liste

4.       Une procédure ajoute()qui ajoute à la liste son paramètre (de type int)

5.       Une procédure affiche()qui affiche tous les éléments de la liste à raison d’un par ligne

6.       En travail personnel : créer une classe et une méthode de test pour utiliser la classe ListeEntiers

3         La structure switch

1.       Structure conditionnelle de choix multiple (peut remplacer plusieurs if else)

2.       Ne fonctionne que sur les types entiers ou caractère (et types énumérés, mais hors IN3R11)

3.       switch (expression) {
  case constante1  : instructions1 break;
  case constante2a :
  case constante2b : instructions2 break;
  default : instructions3
} // switch

4.       Récrire la procédure affiche() du 2.5 pour qu’elle affiche pour chaque nombre : le nombre, suivi de ": " puis de la chaîne "hors limites" si le nombre n’est pas compris entre 0 et 3, ou "aucun" si c’est 0, "un seul" si c’est 1, "plusieurs" si c’est 2 ou 3.

4         Lecture au clavier

1.       Créer dans la classe ListeEntiers une procédure saisit() qui ajoute à la liste  les nombres saisis dans une ligne tapée sur le clavier :

2.       Ouvrir un Scanner sur le clavier.

3.       Afficher un message d’invite puis saisir la ligne dans une chaîne de caractères.

4.       Ouvrir un Scanner sur la ligne saisie.

5.       Ajouter à la liste les entiers présents dans la ligne.        
Toutefois, on acceptera la contrainte imposée par la méthode
nextInt() qui ne prend pas en compte les entiers situés après quelque chose qui n’est pas un entier ; par exemple :          
2 -1 zéro 34    n’ajoutera à la liste que les entiers 2 et -1