Avec des exercices corrigés en Java, vous pratiquerez divers concepts du langage de programmation Java. Vous commencerez par des exercices Java de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
Exercice 1:
Écrire un programme Java pour créer une file d’attente prioritaire (PriorityQueue), ajouter quelques noms (chaînes) et afficher les éléments de la file d’attente prioritaire (PriorityQueue).
Exemple de sortie:
Éléments de la file d'attente prioritaire:
[Alex, Ali, Jean, Bob, Denis]
Solution:
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
// Créer une file d'attente prioritaire vide
PriorityQueue<String> q = new PriorityQueue<String>();
// Utiliser la méthode add() pour ajouter des valeurs dans la
// file d'attente prioritaire
q.add("Alex");
q.add("Bob");
q.add("Jean");
q.add("Ali");
q.add("Denis");
System.out.println("Éléments de la file d'attente prioritaire:");
System.out.println(q);
}
}
Sortie:
Éléments de la file d'attente prioritaire:
[Alex, Ali, Jean, Bob, Denis]
Exercice 2:
Écrire un programme Java pour parcourir tous les éléments de la file d’attente prioritaire.
Exemple de sortie:
Éléments de la file d'attente prioritaire:
Alex
Ali
Jean
Bob
Denis
Solution:
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
// Créer une file d'attente prioritaire vide
PriorityQueue<String> q = new PriorityQueue<String>();
// Utiliser la méthode add() pour ajouter des valeurs dans la
// file d'attente prioritaire
q.add("Alex");
q.add("Bob");
q.add("Jean");
q.add("Ali");
q.add("Denis");
System.out.println("Éléments de la file d'attente prioritaire:");
// Parcourir la file d'attente prioritaire
for (String e : q) {
System.out.println(e);
}
}
}
Sortie:
Éléments de la file d'attente prioritaire:
Alex
Ali
Jean
Bob
Denis
Exercice 3:
Écrire un programme Java pour insérer un élément donné dans une file d’attente prioritaire.
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
// Créer une file d'attente prioritaire vide
PriorityQueue<String> q = new PriorityQueue<String>();
// Utiliser la méthode add() pour ajouter des valeurs dans la
// file d'attente prioritaire
q.add("Alex");
q.add("Bob");
q.add("Jean");
q.add("Ali");
q.add("Denis");
System.out.println("File d'attente originale: "+ q);
// Insère l'élément spécifié dans la file d'attente prioritaire.
q.offer("Olivier");
System.out.println("Après l'insertion: "+ q);
}
}
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
// Créer une file d'attente prioritaire 1 vide
PriorityQueue<String> q1 = new PriorityQueue<String>();
// Utiliser la méthode add() pour ajouter des valeurs dans la
// file d'attente prioritaire 1
q1.add("Alex");
q1.add("Bob");
q1.add("Jean");
q1.add("Ali");
q1.add("Denis");
System.out.println("File d'attente 1:"+ q1);
// Créer une file d'attente prioritaire 2 vide
PriorityQueue<String> q2 = new PriorityQueue<String>();
// Utiliser la méthode add() pour ajouter des valeurs dans la
// file d'attente prioritaire 2
q2.add("Thomas");
q2.add("Yohan");
q2.add("Thom");
System.out.println("File d'attente 2:"+ q2);
q1.addAll(q2);
System.out.println("Nouvelle file d'attente: "+ q1);
}
}
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
// Créer une file d'attente prioritaire vide
PriorityQueue<String> q = new PriorityQueue<String>();
// Utiliser la méthode add() pour ajouter des valeurs dans la
// file d'attente prioritaire
q.add("Alex");
q.add("Bob");
q.add("Jean");
q.add("Ali");
q.add("Denis");
System.out.println("File d'attente originale: "+ q);
// Supprimer tous les éléments de la file d'attente prioritaire
q.clear();
System.out.println("Nouvelle file d'attente: "+ q);
}
}
Écrire un programme Java pour compter le nombre d’éléments dans une file d’attente prioritaire.
Exemple de sortie:
File prioritaire originale: [Alex, Ali, Jean, Bob, Denis]
Taille de la file prioritaire: 5
Solution:
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
// Créer une file d'attente prioritaire vide
PriorityQueue<String> q = new PriorityQueue<String>();
// Utiliser la méthode add() pour ajouter des valeurs dans la
// file d'attente prioritaire
q.add("Alex");
q.add("Bob");
q.add("Jean");
q.add("Ali");
q.add("Denis");
System.out.println("File prioritaire originale:"+ q);
System.out.println("Taille de la file prioritaire: " + q.size());
}
}
Sortie:
File prioritaire originale: [Alex, Ali, Jean, Bob, Denis]
Taille de la file prioritaire: 5
Exercice 7:
Écrire un programme Java pour comparer deux files d’attente prioritaires.
Exemple de sortie:
File d'attente 1: [Alex, Ali, Jean, Bob, Denis]
File d'attente 2: [Alex, Denis, Yohan, Thomas, Thom]
Oui
Non
Non
Non
Oui
Solution:
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
// Créer une file d'attente prioritaire 1 vide
PriorityQueue<String> q1 = new PriorityQueue<String>();
// Utiliser la méthode add() pour ajouter des valeurs dans la
// file d'attente prioritaire 1
q1.add("Alex");
q1.add("Bob");
q1.add("Jean");
q1.add("Ali");
q1.add("Denis");
System.out.println("File d'attente 1:"+ q1);
// Créer une file d'attente prioritaire 2 vide
PriorityQueue<String> q2 = new PriorityQueue<String>();
// Utiliser la méthode add() pour ajouter des valeurs dans la
// file d'attente prioritaire 2
q2.add("Alex");
q2.add("Thomas");
q2.add("Yohan");
q2.add("Thom");
q2.add("Denis");
System.out.println("File d'attente 2:"+ q2);
// Afficher le résultats de la comparaison
for (String e : q1){
System.out.println(q2.contains(e) ? "Oui" : "Non");
}
}
}
Sortie:
File d'attente 1: [Alex, Ali, Jean, Bob, Denis]
File d'attente 2: [Alex, Denis, Yohan, Thomas, Thom]
Oui
Non
Non
Non
Oui
Exercice 8:
Écrire un programme Java pour récupérer le premier élément de la file d’attente prioritaire.
Exemple de sortie:
File d'attente originale: [Alex, Ali, Jean, Bob, Denis]
Le premier élément est: Alex
Solution:
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
// Créer une file d'attente prioritaire vide
PriorityQueue<String> q = new PriorityQueue<String>();
// Utiliser la méthode add() pour ajouter des valeurs dans la
// file d'attente prioritaire
q.add("Alex");
q.add("Bob");
q.add("Jean");
q.add("Ali");
q.add("Denis");
System.out.println("File d'attente originale: "+ q);
System.out.println("Le premier élément est: "+ q.peek());
}
}
Sortie:
File d'attente originale: [Alex, Ali, Jean, Bob, Denis]
Le premier élément est: Alex
Exercice 9:
Écrire un programme Java pour récupérer et supprimer le premier élément.
Exemple de sortie:
File d'attente originale: [Alex, Ali, Jean, Bob, Denis]
Supprime le 1er élément: Alex
Après suppression du 1er élément: [Ali, Bob, Jean, Denis]
Solution:
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
// Créer une file d'attente prioritaire vide
PriorityQueue<String> q = new PriorityQueue<String>();
// Utiliser la méthode add() pour ajouter des valeurs dans la
// file d'attente prioritaire
q.add("Alex");
q.add("Bob");
q.add("Jean");
q.add("Ali");
q.add("Denis");
System.out.println("File d'attente originale:"+ q);
System.out.println("Supprime le 1er élément: "+q.poll());
System.out.println("Après suppression du 1er élément: "+ q);
}
}
Sortie:
File d'attente originale: [Alex, Ali, Jean, Bob, Denis]
Supprime le 1er élément: Alex
Après suppression du 1er élément: [Ali, Bob, Jean, Denis]
Exercice 10:
Écrire un programme Java pour convertir une file d’attente prioritaire en une ArrayList contenant tous ses éléments.
import java.util.*;
public class Main {
public static void main(String[] args) {
// Créer une file d'attente prioritaire vide
PriorityQueue<String> q = new PriorityQueue<String>();
// Utiliser la méthode add() pour ajouter des valeurs dans la
// file d'attente prioritaire
q.add("Alex");
q.add("Bob");
q.add("Jean");
q.add("Ali");
q.add("Denis");
System.out.println("File d'attente originale:"+ q);
// Convertir une file prioritaire en une ArrayList
List<String> arr = new ArrayList<String>(q);
System.out.println("ArrayList: "+ arr);
}
}