Exercice Java Corrigé pour Débutant | Partie 4
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 convertir un nombre octal en nombre décimal.
Exemple:
Saisir un nombre octal: 888 Le nombre décimal est: 584
import java.util.Scanner; public class Main { public static void main(String[] args) { // Créer un objet Scanner pour lire les données de // l'utilisateur Scanner in = new Scanner(System.in); // Déclarer des variables pour stocker le nombre octal et // décimal, ainsi qu'un compteur d'index. long oct_nbr, dec_nbr = 0; int i = 0; // Inviter l'utilisateur à saisir un nombre octal System.out.print("Saisir un nombre octal: "); oct_nbr = in.nextLong(); // Convertir le nombre octal en nombre décimal while (oct_nbr != 0) { dec_nbr = (long)(dec_nbr + (oct_nbr % 10) * Math.pow(8, i++)); oct_nbr = oct_nbr / 10; } // Afficher le nombre décimal équivalent System.out.print("Le nombre décimal est: " + dec_nbr + "\n"); } }
Sortie:
Saisir un nombre octal: 888 Le nombre décimal est: 584
Explication:
Dans l’exercice ci-dessus :
- Tout d’abord, l’utilisateur saisit un nombre octal à l’aide de la classe « Scanner » et le stocke dans la variable « oct_nbr ».
- Il initialise une variable « dec_nbr » pour stocker l’équivalent décimal et une autre variable « i » pour suivre la position de chaque chiffre octal.
- Il entre dans une boucle pour effectuer la conversion octal-décimal :
- À chaque itération, il calcule le reste lorsque « oct_nbr » est divisé par 10 (ce qui donne le chiffre octal le moins significatif).
- Il multiplie ce reste par 8 élevé à la puissance ‘i’ et l’ajoute à ‘dec_nbr’ pour accumuler la valeur décimale.
- Pour passer au chiffre octal suivant, il incrémente i.
- Il met à jour ‘oct_nbr’ en supprimant le chiffre le moins significatif (le plus à droite) en le divisant par 10.
- La boucle continue jusqu’à ce que ‘oct_nbr’ devienne zéro, convertissant ainsi l’ensemble du nombre octal en nombre décimal.
- Après la boucle, la représentation décimale du nombre octal original stocké dans la variable ‘dec_nbr’ est affichée.
Exercice 2:
Écrire un programme Java pour convertir un nombre octal en un nombre binaire.
Exemple:
Saisir un nombre octal: 7 Le nombre binaire est: 111
import java.util.Scanner; public class Main { public static void main(String[] args) { // Créer un objet Scanner pour lire les données de // l'utilisateur Scanner in = new Scanner(System.in); // Définir un tableau pour faire correspondre les chiffres // octaux à leurs équivalents binaires int[] octal_values = {0, 1, 10, 11, 100, 101, 110, 111}; // Déclarer des variables pour stocker le nombre octal, // le nombre octal temporaire, le nombre binaire et // une valeur de place. long octal_nbr, octal_tmp, bin_nbr, place; int reste; // Inviter l'utilisateur à saisir un nombre octal System.out.print("Saisir un nombre octal: "); octal_nbr = in.nextLong(); octal_tmp = octal_nbr; bin_nbr = 0; place = 1; // Convertir le nombre octal en nombre binaire à l'aide du // tableau de correspondance while (octal_tmp != 0) { reste = (int)(octal_tmp % 10); bin_nbr = octal_values[reste] * place + bin_nbr; octal_tmp /= 10; place *= 1000; } // Afficher le nombre binaire équivalent System.out.print("Le nombre binaire est: "+ bin_nbr); } }
Sortie:
Saisir un nombre octal: 7 Le nombre binaire est: 111
Explication:
Dans l’exercice ci-dessus :
- Tout d’abord, l’utilisateur saisit un nombre octal à l’aide de la classe « Scanner » et le stocke dans la variable « octal_nbr ».
- Il initialise un tableau « octal_values » pour stocker les équivalents binaires des chiffres octaux (0 à 7).
- Il initialise les variables ‘octal_tmp’ pour stocker temporairement le nombre octal, ‘bin_nbr’ pour stocker l’équivalent binaire, ‘place’ pour garder une trace de la position de chaque chiffre octal, et ‘reste’ pour stocker le reste lors de la division de ‘octal_tmp’ par 10.
- Ensuite, il entre dans une boucle pour effectuer la conversion octal-binaire :
- À chaque itération, il calcule le reste lorsque ‘octal_tmp’ est divisé par 10 (ce qui donne le chiffre octal le moins significatif).
- Il utilise ‘reste’ pour rechercher l’équivalent binaire dans le tableau ‘octal_values’ et l’ajoute à ‘bin_nbr’, en tenant compte de la valeur de place appropriée.
- Il divise « octal_tmp » par 10 pour supprimer le chiffre le moins significatif (le plus à droite).
- Elle met à jour la variable « place » pour passer au groupe suivant de trois chiffres binaires.
- La boucle continue jusqu’à ce que ‘octal_tmp’ devienne zéro, convertissant ainsi l’ensemble du nombre octal en binaire.
- Enfin (après la boucle), il affiche la représentation binaire du nombre octal d’origine stocké dans la variable ‘bin_nbr’.
Exercice 3:
Écrire un programme Java pour convertir un nombre octal en un nombre hexadécimal.
Exemple:
Saisir un nombre octal: 75 Le nombre hexadécimal est: 3d
import java.util.Scanner; public class Main { public static void main(String args[]) { // Déclarer des variables pour stocker les nombres octaux // et leurs équivalents décimaux et hexadécimaux String oct_nbr, hex_nbr; int dec_nbr; // Créer un objet Scanner pour lire les données de // l'utilisateur Scanner in = new Scanner(System.in); // Inviter l'utilisateur à saisir un nombre octal System.out.print("Saisir un nombre octal: "); oct_nbr = in.nextLine(); // Convertir le nombre octal en son équivalent décimal // à l'aide de parseInt dec_nbr = Integer.parseInt(oct_nbr, 8); // Convertir le nombre décimal en son équivalent hexadécimal hex_nbr = Integer.toHexString(dec_nbr); // Afficher le nombre hexadécimal équivalent System.out.print("Le nombre hexadécimal est: "+ hex_nbr); } }
Sortie:
Saisir un nombre octal: 75 Le nombre hexadécimal est: 3d
Explication:
Dans l’exercice ci-dessus :
- Tout d’abord, l’utilisateur saisit un nombre octal à l’aide de la classe « Scanner » et le stocke sous la forme d’une chaîne dans la variable « oct_nbr ».
- Il utilise la méthode « Integer.parseInt() » pour convertir la chaîne « oct_nbr » en un entier « dec_nbr », en spécifiant la base 8 (octal).
- Il utilise ensuite la méthode « Integer.toHexString() » pour convertir le ‘dec_nbr’ en sa représentation hexadécimale et le stocke dans la chaîne ‘hex_nbr’.
- Enfin, il affiche la représentation hexadécimale du nombre octal d’origine stocké dans la variable ‘hex_nbr’.
Exercice 4:
Écrivez un programme Java pour vérifier si Java est installé sur votre ordinateur.
Exemple:
Version de Java: 11.0.4 Version de Java Runtime: 11.0.4+10-LTS Java Home: /opt/jdk/jdk-11.0.4 Fournisseur de Java: Oracle Corporation URL du fournisseur Java: http://java.oracle.com/ Chemin d'accès aux classes Java: .
public class Main { public static void main(String[] args) { System.out.println("Version de Java: " + System.getProperty("java.version")); System.out.println("Version de Java Runtime: " + System.getProperty("java.runtime.version")); System.out.println("Java Home: " + System.getProperty("java.home")); System.out.println("Fournisseur de Java: " + System.getProperty("java.vendor")); System.out.println("URL du fournisseur Java: " + System.getProperty("java.vendor.url")); System.out.println("Chemin d'accès aux classes Java: " + System.getProperty("java.class.path")); } }
Sortie:
Version de Java: 11.0.4 Version de Java Runtime: 11.0.4+10-LTS Java Home: /opt/jdk/jdk-11.0.4 Fournisseur de Java: Oracle Corporation URL du fournisseur Java: http://java.oracle.com/ Chemin d'accès aux classes Java: .
Explication:
On utilise System.getProperty() pour accéder à des propriétés spécifiques du système Java et les récupérer.
Exercice 5:
Écrire un programme Java pour comparer deux nombres.
Exemple:
Saisir le premier nombre: 5 Saisir le deuxième nombre: 9 5 != 9 5 < 9 5 <= 9
import java.util.Scanner; public class Main { public static void main(String args[]) { // Créer un objet Scanner pour lire les données de // l'utilisateur Scanner sc = new Scanner(System.in); int nbr1; // Premier nombre à comparer int nbr2; // Deuxième nombre à comparer System.out.print("Saisir le premier nombre: "); nbr1 = sc.nextInt(); System.out.print("Saisir le deuxième nombre: "); nbr2 = sc.nextInt(); // Comparer et afficher les résultats if (nbr1 == nbr2) System.out.printf("%d == %d\n", nbr1, nbr2); if (nbr1 != nbr2) System.out.printf("%d != %d\n", nbr1, nbr2); if (nbr1 < nbr2) System.out.printf("%d < %d\n", nbr1, nbr2); if (nbr1 > nbr2) System.out.printf("%d > %d\n", nbr1, nbr2); if (nbr1 <= nbr2) System.out.printf("%d <= %d\n", nbr1, nbr2); if (nbr1 >= nbr2) System.out.printf("%d >= %d\n", nbr1, nbr2); } }
Sortie:
Saisir le premier nombre: 5 Saisir le deuxième nombre: 9 5 != 9 5 < 9 5 <= 9
Explication:
Ici, on effectue une série de comparaisons à l'aide des instructions if et affiche les résultats à l'aide de System.out.printf().
Exercice 6:
Écrire un programme Java pour compter les lettres, les espaces, les chiffres et les autres caractères d'une chaîne saisie.
Exemple:
Rue 45, Quartier Sain Denis:France Lettre: 26 Espace: 4 Chiffre: 2 Autre: 2
import java.util.Scanner; public class Main { public static void main(String[] args) { // Définir une chaîne de test String str = "Rue 45, Quartier Sain Denis:France"; // Appeler la méthode count pour analyser les caractères // dans str count(str); } public static void count(String str) { // Convertir la chaîne d'entrée en un tableau de caractères char[] ch = str.toCharArray(); // Initialiser les compteurs de lettres, d'espaces, // de chiffres et d'autres caractères int lettre = 0; int espace = 0; int chiffre = 0; int autre = 0; // Parcourir le tableau de caractères pour catégoriser // les caractères for (int i = 0; i < str.length(); i++) { // Vérifier si le caractère est une lettre if (Character.isLetter(ch[i])) { lettre++; } // Vérifier si le caractère est un chiffre (nombre) else if (Character.isDigit(ch[i])) { chiffre++; } // Vérifier si le caractère est un espace else if (Character.isSpaceChar(ch[i])) { espace++; } // Si aucune des conditions ci-dessus n'est remplie. else { autre++; } } System.out.println(str); System.out.println("Lettre: " + lettre); System.out.println("Espace: " + espace); System.out.println("Chiffre: " + chiffre); System.out.println("Autre: " + autre); } }
Sortie:
Rue 45, Quartier Sain Denis:France Lettre: 26 Espace: 4 Chiffre: 2 Autre: 2
Explication:
Dans l'exercice ci-dessus :
- La chaîne de caractères à analyser est stockée dans la variable 'str'.
- La méthode « count() » prend une chaîne de caractères « str » comme paramètre.
- Dans la méthode « count() », la méthode « toCharArray() » est utilisée pour convertir la chaîne d'entrée str en un tableau de caractères 'ch'.
- Quatre variables (lettre, espace, chiffre et autre) sont initialisées à zéro. Ces variables seront utilisées pour compter les types respectifs de caractères dans la chaîne.
- Une boucle for parcourt chaque caractère du tableau « ch ».
- À l'intérieur de la boucle, elle vérifie le type de chaque caractère à l'aide de diverses méthodes de la classe « Character » telles que isLetter(), isDigit() et isSpaceChar(). En fonction du type, il incrémente la variable compteur correspondante (lettre, espace, chiffre ou autre).
- Enfin, il affiche la chaîne de caractères originale et le nombre de chaque type de caractère.
Exercice 7:
Ecrivez un programme Java pour saisir et afficher votre mot de passe.
Exemple:
Saisir votre mot de passe: Votre mot de passe est: @lex!o
import java.io.Console; public class Main { public static void main(String[] args) { // Déclarez une variable Console 'cons'. Console cons; // Vérifiez si la console du système est disponible. if ((cons = System.console()) != null) { // Déclarez un tableau de caractères 'psw' pour stocker // le mot de passe. char[] psw = null; try { // Inviter l'utilisateur à saisir son mot de passe. psw = cons.readPassword("Saisir votre mot de passe:"); // Afficher le mot de passe dans la console. System.out.println("Votre mot de passe est: "+ new String(psw)); } finally { // Assurez-vous que le tableau des mots de passe est // bien effacé. if (psw != null) { java.util.Arrays.fill(psw, ' '); } } } else { throw new RuntimeException("Impossible de récupérer le mot de passe... Pas de console"); } } }
Sortie:
Saisir votre mot de passe: Votre mot de passe est: @lex!o
Exercice 8:
Écrire un programme Java pour afficher la chaîne de caractères suivante dans un format spécifique (voir sortie).
Exemple:
Lorem ipsum dolor sit amet, consectetur adipiscing elit facilisi neque ad lacus velit, hac suscipit suspendisse. tempor mi imperdiet et dis montes, donec cubilia maximus vulputate!
public class Main { public static void main(String[] args) { System.out.println("Lorem ipsum dolor sit amet, \n\tconsectetur adipiscing elit facilisi \n\t\tneque ad lacus velit, \n\t\thac suscipit suspendisse. \ntempor mi imperdiet et dis montes, \n\tdonec cubilia maximus vulputate!\n\n"); } }
Sortie:
Lorem ipsum dolor sit amet, consectetur adipiscing elit facilisi neque ad lacus velit, hac suscipit suspendisse. tempor mi imperdiet et dis montes, donec cubilia maximus vulputate!
Exercice 9:
Écrire un programme Java pour afficher les nombres impairs de 1 à 10. Afficher un nombre par ligne.
Exemple:
1 3 5 7 9
import java.util.*; public class Main { public static void main(String[] args) { // Parcourir les nombres de 1 à 10 for (int i = 1; i <= 10; i++) { // Vérifier si le nombre est impair if (i % 2 != 0) { // Afficher le nombre impair System.out.println(i); } } } }
Sortie:
1 3 5 7 9
Éditeur de code Java: Testez votre code en ligne!
Testez vos connaissances – QCM Java corrigé – Partie 1QCM sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus
- Exercice Java Corrigé pour Débutant | Partie 1
- Exercice Java Corrigé pour Débutant | Partie 2
- Exercice Java Corrigé pour Débutant | Partie 3
- Exercice Java Corrigé pour Débutant | Partie 4
- Exercice Java Corrigé pour Débutant | Partie 5
- Exercice Java Corrigé pour Débutant | Partie 6
- Exercice Java Corrigé pour Débutant | Partie 7
- Exercice Java Corrigé pour Débutant | Partie 8
- Exercice Java Corrigé pour Débutant | Partie 9
- Exercice Java Corrigé pour Débutant | Partie 10
- Exercice Java Corrigé – Méthodes Récursives
- Exercice Java Corrigé sur les Collections – Arraylist – Partie 1
- Exercice Java Corrigé sur les Collections – Arraylist – Partie 2
- Exercice Java Corrigé sur les Collections – Arraylist – Partie 3
- Exercice Java Corrigé sur les Collections – Arraylist – Partie 4
- Exercice Java Corrigé sur les Collections – LinkedList – Partie 1
- Exercice Java Corrigé sur les Collections – LinkedList – Partie 2
- Exercice Java Corrigé sur les Collections – LinkedList – Partie 3
- Exercice Java Corrigé sur les Collections – HashSet
- Exercice Java Corrigé sur les Collections – TreeSet – Partie 1
- Exercice Java Corrigé sur les Collections – TreeSet – Partie 2
- Exercice Java Corrigé sur les Collections – PriorityQueue
- Exercice Java Corrigé sur les Collections – HashMap
- Exercice Java Corrigé sur les Collections – TreeMap
- Exercices corrigés Java POO – Constructeurs
- Exercices corrigés Java – Programmation Orientée Objet | Partie 1
- Exercices corrigés Java – Programmation Orientée Objet | Partie 2
- Exercices corrigés Java – Programmation Orientée Objet | Partie 3
- Exercices corrigés Java – Programmation Orientée Objet | Partie 4
- Exercices corrigés Java – Programmation Orientée Objet | Partie 5
- Exercices corrigés Java – Programmation Orientée Objet | Partie 6
- Exercice Java Corrigé sur POO – Polymorphism
- Exercice Java Corrigé – POO – Interfaces
- Exercice Java Corrigé – POO – Classe Abstraite
- Exercice Java Corrigé – POO – Classes Imbriquées
- Exercices corrigés Java les classes et l’héritage – Partie 1
- Exercices corrigés Java les classes et l’héritage – Partie 2
- Exercice Java Corrigé – Gestion Des Exceptions