Série Java
Niveau facile
Exercice 1 : Écrivez un programme qui déclare une variable pour votre nom et une autre pour
votre âge, puis affiche un message du type : "Bonjour, je m'appelle Marc et j'ai 25 ans."
Exercice 2 : Créez un programme qui demande un nombre à l'utilisateur (ou utilisez une
variable fixe) et affiche si ce nombre est pair ou impair. Astuce : Utilisez l'opérateur modulo
%.
Exercice 3 : Affichez la table de multiplication du chiffre 5 (de 1 à 10) en utilisant une boucle
for
Exercice 4 : Calculez la somme des nombres de 1 à 10 (1+2+3...+10) et affichez le résultat
final.
Exercice 5 : Soit un tableau d'entiers. Écrivez un code qui parcourt le tableau pour trouver et
afficher la plus grande valeur.
Niveau moyen
Exercice 1 : Écrivez un programme qui demande une phrase à l'utilisateur et l'affiche à l'envers
sans utiliser de fonctions intégrées complexes (utilisez une boucle).
Exercice 2 : L'ordinateur choisit un nombre entre 1 et 100. L'utilisateur doit le deviner. À
chaque essai, le programme indique si le nombre est "plus grand" ou "plus petit".
Exercice 3 : Utilisez une ArrayList pour permettre à l'utilisateur d'ajouter des articles à une
liste jusqu'à ce qu'il tape "fin". Affichez ensuite la liste complète et le nombre d'articles.
Exercice 4 : Un palindrome est un mot qui se lit de la même façon dans les deux sens (ex:
"radar", "kayak"). Créez une méthode qui renvoie un boolean pour vérifier cela.
Exercice 5 : Créez un programme qui divise deux nombres demandés à l'utilisateur. Gérez
l'erreur si l'utilisateur tente de diviser par zéro ou s'il entre du texte au lieu d'un chiffre.
p. 1
Niveau difficle
Exercice 1 : Créez une classe parente Document (titre, auteur) et deux classes filles Livre
(nombre de pages) et DVD (durée). Implémentez une méthode afficherInfos() dans chaque
classe en utilisant le polymorphisme.
Exercice 2 : Écrivez un programme qui prend une phrase et compte le nombre d'occurrences
de chaque mot à l'aide d'une HashMap.
Exercice 3 : Créez une fonction récursive qui calcule le n^{ième} nombre de la suite de
Fibonacci. Rappel : F(n) = F(n-1) + F(n-2).
Exercice 4 : Implémentez l'algorithme du tri à bulles pour trier un tableau d'entiers par ordre
croissant sans utiliser [Link]().
Exercice 5 : Créez une classe Compte avec un solde privé. Créez une exception personnalisée
SoldeInsuffisantException qui se déclenche si on tente de retirer plus que le solde disponible.
Niveau avancées
Exercice 1 : À partir d'une liste d'objets Employe (nom, département, salaire), utilisez l'API
Stream pour :
1. Filtrer ceux du département "IT".
2. Augmenter leur salaire de 10%.
3. Calculer la moyenne des salaires de ce département.
Exercice 2 : Implémentez un système simple où un thread "Producteur" ajoute des nombres
dans une file d'attente (BlockingQueue) et un thread "Consommateur" les récupère et les traite.
Exercice 3 : Créez une classe MaPile<T> qui permet de stocker n'importe quel type d'objet
(LIFO : Last In, First Out) en utilisant un tableau ou une liste interne.
Exercice 4 : Créez une classe Configuration qui ne peut être instanciée qu'une seule fois dans
toute l'application, même dans un environnement multi-threadé.
Exercice 5 : Implémentez une recherche en largeur (BFS) pour parcourir un graphe représenté
par une liste d'adjacence et trouver si un chemin existe entre deux nœuds.
p. 2