Vous êtes sur la page 1sur 3

Examen de Méthodologie et Programmation 1 : Java

Classe IG - Q1
Date 15/01/2024
Une fois terminé, veuillez déposer le fichier.JAVA ayant la nomenclature suivante :
« String2024A » sur eCampus dans le cours « Méthodologie et Programmation I
: Java » et le devoir « Examen session janvier 2024-Les chaînes de caractères ».

A
ENONCÉ -10 POINTS
Rédigez en Java un programme qui :

1. Définit un entier N aléatoire compris entre 5 et 9 (bornes comprises), affiche ce


nombre et demande de saisir une chaine de caractères valide. Si la chaine n’est
pas valide, on redemandera à nouveau d’introduire une nouvelle chaine de
caractères lue au clavier. Et ainsi de suite jusqu’à ce que la chaine introduite soit
correcte. (0.5 point)
La saisie ne sera validée que lorsque les conditions suivantes sont remplies :
a. Sa taille correspondra exactement à N caractères. (0.5 point)
b. La chaine contient exactement 1 chiffre. Ce chiffre ne peut être placé ni en
première position, ni en dernière position. (1.5 points)
c. La chaine ne contient aucun caractère spécial. (1 point)
d. Cette chaine contient au moins une lettre en minuscule et au moins une
lettre en majuscule. (2 points)
2. Permet de créer une nouvelle chaine qui sera la copie inverse de la chaine auquel
on convertit toutes les consonnes en majuscules et toutes les voyelles en
minuscules. (1.5 points)
3. Insère (en fin de la première chaine) un caractère ‘+’ (plus) ainsi que la nouvelle
chaine créée précédemment. (1 point)
4. Permute (dans la même chaine) les sous chaines qui sont séparées par le
caractère ‘+’ (plus). (1 point)
5. Supprime (dans la même chaine) tous les caractères qui se situe entre les 2
chiffres. (1 point)

Session janvier 2024 Partie 2 Page 1 sur 3


EXEMPLE

1) Saisie
--------
N=8
Veuillez saisir une chaine de longueur 8, qui contient exactement 1 chiffre placé ni en première et
dernière position, aucun caractère spécial, et qui contient au moins une lettre en minuscule et au
moins lettre en majuscule :
azerteoor

Erreur. La chaine n'est pas valide :


Aaz8eR!eR

Erreur. La chaine n'est pas valide :


Ar8zeREy

2) Création nouvelle chaine :


yeReZ8Ra
--------

3) Insertion du caractère et de la nouvelle chaine dans la première chaine :


Ar8zeREy+yeReZ8Ra
--------

4) Permutation des sous chaines :


--------
yeReZ8Ra+Ar8zeREy

5) Suppression des caractères qui se situe entre les 2 chiffres :


--------
yeReZ88zeREy

NOTE

Une lettre est considérée comme étant une majuscule ou une minuscule de l’alphabet
(de A->Z et de a->z).

Un caractère spécial est considéré comme un caractère qui n’est ni un chiffre, ni une
lettre.

Une lettre en majuscule et la même lettre en minuscule sont considérées comme 2


lettres différentes.

Session janvier 2024 Partie 2 Page 2 sur 3


RESTRICTIONS

1. Vous ne pouvez pas utiliser de « break », « continue » ou autres codes exotiques


non vus en classe.
2. Vous ne pouvez pas utiliser de tableaux ni d’autres conteneurs en dehors des
types simples et du type « String ».
3. Vous ne pouvez utiliser que les outils de manipulations de chaines de caractères
suivants : indexOf, charAt, substring, length, equals, toUpperCase, toLowerCase
ainsi que les opérateurs de comparaison classiques et de concaténation.
4. Vous ne pouvez pas utiliser de boucles « for » non conformes au schéma
classique vu en classe (une seule variable d’itération)
5. Vous ne pouvez pas quitter prématurément une boucle « for » à l’aide d’un
« return » ou « break ».
6. Chaque point peut être réalisé indépendamment des autres. Si nécessaire vous
pouvez travailler avec une chaine intermédiaire qui reprendrait le résultat attendu
du point suivant.
7. L’utilisation du langage orienté objet non vu en classe est formellement interdite.

Bon courage !

Session janvier 2024 Partie 2 Page 3 sur 3

Vous aimerez peut-être aussi