Exercice Java Corrigé pour Débutant | Partie 3
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: Additionnez les chiffres d’un nombre
Écrivez un programme qui lit un entier entre 0 et 1000 et calcul la somme de tous les chiffres. Par exemple, le nombre 122, la somme de tous ses chiffres est 5.
Astuce: utilisez l’opérateur % pour extraire les chiffres et utilisez l’opérateur / pour supprimer le chiffre extrait. Par exemple, 122 % 10 = 2 et 122/10 = 12.
Exemple:
Entrez un nombre entre 0 et 1000: 122 La somme des chiffres est 5
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Entrez un nombre entre 0 et 1000: ");
int n = sc.nextInt();
// Trouve le dernier chiffre du nombre
int a = n % 10;
// Supprime le dernier chiffre en divisant le nombre par 10
n /= 10;
int b = n % 10;
n /= 10;
int c = n % 10;
n /= 10;
// Additionnez les chiffres du nombre
int somme = a + b + c;
// Afficher le résultat
System.out.println("La somme des chiffres est " + somme);
}
}
Sortie:

Exercice 2: Suite de Fibonacci
Écrivez un programme qui renvoie une séquence de Fibonacci. Une séquence de Fibonacci est une série de nombres: 0, 1, 1, 2, 3, 5, 8, 13, 21, … Le nombre suivant est trouvé en additionnant les deux nombres précédents. Supposons que les index commencent à 0, par exemple, fibonacci(0) = 0, fibonacci(1) = 1, etc…
Exemple:
fibonacci(10) -> 0 1 1 2 3 5 8 13 21 34
public class Main {
public static void main(String[] args) {
int n1=0,n2=1,n3,i,nbr=10;
//Afficher 0 et 1
System.out.print(n1+" "+n2);
// La boucle commence à 2 car 0 et 1 sont déjà affichés
for(i=2; i<nbr; ++i)
{
n3=n1+n2;
System.out.print(" "+n3);
n1=n2;
n2=n3;
}
}
}
Sortie:
0 1 1 2 3 5 8 13 21 34
Voir aussi : L’algorithme de Fibonacci en Java
Exercice 3: Fizz Buzz
Écrivez un programme qui renvoie « Fizz » pour des multiples de trois et « Buzz » pour des multiples de cinq. Pour les nombres qui sont des multiples de trois et de cinq, affichez « FizzBuzz ». Pour les nombres qui ne sont ni l’un ni l’autre, renvoyez le nombre saisi.
Exemple:
fizzBuzz(15) -> FizzBuzz
public class Main {
public static void main(String[] args) {
Integer n = 15;
String res = "";
if (n % 3 == 0) {
res += "Fizz";
}
if (n % 5 == 0) {
res += "Buzz";
}
if (res.equals("")) {
res = n.toString();
}
System.out.print(res);
}
}
Sortie:
FizzBuzz
Exercice 4: Décimal ➜ Binaire
Écrire un programme Java pour convertir un nombre entier en un nombre binaire.
Exemple de sortie:
Saisir un nombre décimal: 5 Le nombre binaire est: 101
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
// Déclarez des variables pour stocker les nombres décimaux,
// le quotient et un tableau pour les chiffres binaires.
int dec_nbr, quot, i = 1, j;
int bin_nbr[] = new int[100];
// Créer un objet Scanner pour lire les données de
// l'utilisateur
Scanner scan = new Scanner(System.in);
// Inviter l'utilisateur à saisir un nombre décimal
System.out.print("Saisir un nombre décimal: ");
dec_nbr = scan.nextInt();
// Initialiser le quotient avec le nombre décimal
quot = dec_nbr;
// Convertir les nombres décimaux en nombres binaires et
// stocker les chiffres binaires
while (quot != 0) {
bin_nbr[i++] = quot % 2;
quot = quot / 2;
}
// Afficher la représentation binaire du nombre décimal
System.out.print("Le nombre binaire est: ");
for (j = i - 1; j > 0; j--) {
System.out.print(bin_nbr[j]);
}
System.out.print("\n");
}
}
Sortie:
Saisir un nombre décimal: 5 Le nombre binaire est: 101
Explication:
Dans l’exercice ci-dessus :
- Le code prend d’abord un nombre entier ou décimal (‘dec_nbr’) comme entrée de l’utilisateur à l’aide de la classe « Scanner ».
- Il initialise un tableau « bin_nbr » pour stocker les chiffres binaires du nombre converti et d’autres variables nécessaires.
- Ensuite, il entre dans une boucle pour effectuer la conversion décimal-binaire :
- À chaque itération, il calcule le reste de « dec_nbr » lorsqu’il est divisé par 2 (ce qui donne le chiffre binaire le moins significatif) et le stocke dans le tableau « bin_nbr ».
- Il met ensuite à jour « dec_nbr » en le divisant par 2 (ce qui le décale effectivement vers la droite).
- La boucle continue jusqu’à ce que ‘dec_nbr’ devienne zéro, convertissant ainsi l’ensemble du nombre décimal en binaire.
- Après la boucle, la représentation binaire du nombre décimal est affichée en parcourant le tableau ‘bin_nbr’ dans l’ordre inverse (du chiffre le plus significatif au chiffre le moins significatif).
Exercice 5: Décimal ➜ Hexadécimal
Écrire un programme Java pour convertir un nombre décimal en un nombre hexadécimal.
Exemple:
Saisir un nombre décimal: 15 Le nombre hexadécimal est: F
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
// Déclarer des variables pour stocker le nombre décimal
// et le reste
int dec_nbr, reste;
// Initialiser une chaîne vide pour le nombre hexadécimal
String hex_nbr = "";
// Définir les chiffres du nombre hexadécimal
char hex[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
// 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 décimal
System.out.print("Saisir un nombre décimal: ");
dec_nbr = in.nextInt();
// Convertir le nombre décimal en hexadécimal
while (dec_nbr > 0) {
reste = dec_nbr % 16;
hex_nbr = hex[reste] + hex_nbr;
dec_nbr = dec_nbr / 16;
}
// Afficher la représentation hexadécimale du nombre décimal
System.out.print("Le nombre hexadécimal est: "+ hex_nbr);
}
}
Sortie:
Saisir un nombre décimal: 15 Le nombre hexadécimal est: F
Explication:
Dans l’exercice ci-dessus :
- Il prend un nombre décimal (‘dec_nbr’) comme entrée de l’utilisateur en utilisant la classe « Scanner ».
- Il initialise une chaîne vide « hex_nbr » pour stocker la représentation hexadécimale et définit un tableau « hex » contenant les chiffres hexadécimaux (0-9 et A-F).
- Il entre dans une boucle pour effectuer la conversion décimal-hexadécimal :
- À chaque itération, il calcule le reste de « dec_nbr » lorsqu’il est divisé par 16 (ce qui donne le chiffre hexadécimal) et l’ajoute à la chaîne « hex_nbr ».
- Il met ensuite à jour « dec_nbr » en le divisant par 16.
- La boucle continue jusqu’à ce que ‘dec_nbr’ devienne zéro, convertissant ainsi l’ensemble du nombre décimal en hexadécimal.
- Après la boucle, la représentation hexadécimale du nombre décimal stocké dans la chaîne ‘hex_nbr’ est affichée.
Exercice 6: Décimal ➜ Octal
Écrire un programme Java pour convertir un nombre décimal en nombre octal.
Exemple:
Saisir un nombre décimal: 10 Le nombre octal est: 12
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
// Déclarez des variables pour stocker le nombre décimal,
// le quotient et un tableau pour les chiffres octaux.
int dec_nbr, quot, i = 1, j;
int oct_nbr[] = new int[100];
// Créer un objet Scanner pour lire les données de
// l'utilisateur
Scanner scan = new Scanner(System.in);
// Inviter l'utilisateur à saisir un nombre décimal
System.out.print("Saisir un nombre décimal: ");
dec_nbr = scan.nextInt();
// Initialiser le quotient avec le nombre décimal
quot = dec_nbr;
// Convertir le nombre décimal en octal et stocker les
// chiffres octaux
while (quot != 0) {
oct_nbr[i++] = quot % 8;
quot = quot / 8;
}
// Afficher la représentation octale du nombre décimal
System.out.print("Le nombre octal est: ");
for (j = i - 1; j > 0; j--) {
System.out.print(oct_nbr[j]);
}
System.out.print("\n");
}
}
Sortie:
Saisir un nombre décimal: 10 Le nombre octal est: 12
Explication:
Dans l’exercice ci-dessus :
- Il prend un nombre décimal (‘dec_nbr’) comme entrée de l’utilisateur en utilisant la classe « Scanner ».
- Il initialise un tableau ‘oct_nbr’ pour stocker les chiffres octaux du nombre converti et d’autres variables nécessaires.
- Il entre dans une boucle pour effectuer la conversion décimal-octal :
- À chaque itération, il calcule le reste de « dec_nbr » lorsqu’il est divisé par 8 et le stocke dans le tableau « oct_nbr ».
- Il met ensuite à jour ‘dec_nbr’ en le divisant par 8 (ce qui le décale effectivement vers la droite).
- La boucle continue jusqu’à ce que ‘dec_nbr’ devienne zéro, convertissant ainsi l’ensemble du nombre décimal en octal.
- Après la boucle, la représentation octale du nombre décimal est affichée en parcourant le tableau ‘oct_nbr’ dans l’ordre inverse.
Exercice 7: Binaire ➜ Décimal
Écrire un programme Java pour convertir un nombre binaire en nombre décimal.
Exemple:
Saisir un nombre binaire: 101 Nombre décimal: 5
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);
// Déclarer des variables pour stocker des chiffres binaires
// et décimaux, le reste et un multiplicateur.
long bin_nbr, dec_nbr = 0, j = 1, reste;
// Inviter l'utilisateur à saisir un nombre binaire
System.out.print("Saisir un nombre binaire: ");
bin_nbr = sc.nextLong();
// Convertir le nombre binaire en nombre décimal
while (bin_nbr != 0) {
reste = bin_nbr % 10;
dec_nbr = dec_nbr + reste * j;
j = j * 2;
bin_nbr = bin_nbr / 10;
}
// Afficher la représentation décimale du nombre binaire
System.out.println("Nombre décimal: " + dec_nbr);
}
}
Sortie:
Saisir un nombre binaire: 101 Nombre décimal: 5
Explication:
Dans l’exercice ci-dessus :
- Il prend un nombre binaire comme entrée de l’utilisateur en utilisant la classe « Scanner » et le stocke dans la variable « bin_nbr ».
- Il initialise une variable « dec_nbr » pour stocker l’équivalent décimal et une autre variable « j » comme multiplicateur, à partir de 1.
- Il entre dans une boucle pour effectuer la conversion binaire-décimale :
- À chaque itération, il calcule le reste lorsque le « bin_nbr » est divisé par 10 (ce qui donne le chiffre binaire le moins significatif).
- Il ajoute ensuite ce reste multiplié par la valeur actuelle de « j » au « dec_nbr ».
- Il multiplie « j » par 2 pour préparer le chiffre binaire suivant.
- Il met à jour « bin_nbr » en supprimant le chiffre le moins significatif (le plus à droite) et en le divisant par 10.
- La boucle continue jusqu’à ce que ‘bin_nbr’ devienne zéro, convertissant ainsi l’ensemble du nombre binaire en décimal.
- Après la boucle, la représentation décimale du nombre binaire stocké dans la variable ‘dec_nbr’ est affichée.
Exercice 8: Binaire ➜ Hexadécimal
Écrire un programme Java pour convertir un nombre binaire en un nombre hexadécimal.
Exemple:
Saisir un nombre binaire: 1101 La valeur hexadécimale: D
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// Déclarez un tableau pour stocker les chiffres
// hexadécimaux, les variables de calcul et les
// entrées binaires.
int[] hex = new int[1000];
int i = 1, j = 0, reste, dec = 0, bin;
// 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 binaire
System.out.print("Saisir un nombre binaire: ");
bin = in.nextInt();
// Convertir le nombre binaire en nombre décimal
while (bin > 0) {
reste = bin % 2;
dec = dec + reste * i;
i = i * 2;
bin = bin / 10;
}
i = 0;
// Convertir le nombre décimal en hexadécimal
while (dec != 0) {
hex[i] = dec % 16;
dec = dec / 16;
i++;
}
// Afficher la valeur hexadécimale
System.out.print("La valeur hexadécimale: ");
for (j = i - 1; j >= 0; j--) {
if (hex[j] > 9) {
System.out.print((char)(hex[j] + 55));
} else {
System.out.print(hex[j]);
}
}
System.out.print("\n");
}
}
Sortie:
Saisir un nombre binaire: 1101 La valeur hexadécimale: D
Explication:
Dans l’exercice ci-dessus :
- Initialise un tableau « hex » pour stocker les chiffres hexadécimaux du nombre converti, ainsi que d’autres variables nécessaires.
- Il prend un nombre binaire comme entrée de l’utilisateur en utilisant la classe « Scanner » et le stocke dans la variable « bin ».
- Il entre dans une boucle pour convertir le nombre binaire en décimal :
- À chaque itération, il calcule le reste lorsque la variable « bin » est divisée par 2 (ce qui donne le chiffre binaire le moins significatif).
- Il ajoute ce reste multiplié par ‘i’ à la variable ‘dec’ pour accumuler la valeur décimale.
- Il multiplie « i » par 2 pour préparer le chiffre binaire suivant.
- Il met à jour « bin » en supprimant le chiffre le moins significatif (le plus à droite) en le divisant par 10.
- La boucle se poursuit jusqu’à ce que « bin » devienne zéro, convertissant ainsi l’ensemble du nombre binaire en valeur décimale.
- Après la conversion en décimal, il entre dans une autre boucle pour convertir le nombre décimal en hexadécimal :
- À chaque itération, il calcule le reste lorsque « dec » est divisé par 16 (ce qui donne le chiffre hexadécimal le moins significatif).
- Il stocke ce reste dans un tableau « hex ».
- Il met à jour « dec » en le divisant par 16 pour passer au chiffre hexadécimal suivant.
- Enfin, il affiche la représentation hexadécimale du nombre binaire d’origine en parcourant le tableau « hex » dans l’ordre inverse. Il gère également les chiffres hexadécimaux supérieurs à 9 en les convertissant en lettres correspondantes de A à F.
Exercice 9: Binaire ➜ Octal
Écrire un programme Java pour convertir un nombre binaire en nombre octal.
Exemple:
Saisir un nombre binaire: 1101 Valeur octale équivalente de 1101 est :15
import java.util.*;
public class Main {
public static void main(String[] args) {
// Déclarez des variables pour stocker les nombres binaires
// et décimaux, le reste, le quotient et un tableau pour
// les chiffres octaux.
int bin_nbr, bin_orig, reste, dec_nbr = 0, quot, i = 1, j;
int oct_nbr[] = new int[100];
// Créer un objet Scanner pour lire les données de
// l'utilisateur
Scanner scan = new Scanner(System.in);
// Inviter l'utilisateur à saisir un nombre binaire
System.out.print("Saisir un nombre binaire: ");
bin_nbr = scan.nextInt();
bin_orig = bin_nbr;
// Convertir le nombre binaire en nombre décimal
while (bin_nbr > 0) {
reste = bin_nbr % 10;
dec_nbr = dec_nbr + reste * i;
i = i * 2;
bin_nbr = bin_nbr / 10;
}
i = 1;
quot = dec_nbr;
// Convertir le nombre décimal en octal
while (quot > 0) {
oct_nbr[i++] = quot % 8;
quot = quot / 8;
}
// Afficher la valeur octale équivalente du nombre binaire
// d'origine
System.out.print("Valeur octale équivalente de " + bin_orig + " est :");
for (j = i - 1; j > 0; j--) {
System.out.print(oct_nbr[j]);
}
System.out.print("\n");
}
}
Sortie:
Saisir un nombre binaire: 1101 Valeur octale équivalente de 1101 est :15
Explication:
Dans l’exercice ci-dessus :
- Tout d’abord, initialiser un tableau ‘oct_nbr’ pour stocker les chiffres octaux du nombre converti et d’autres variables nécessaires.
- Il prend un nombre binaire comme entrée de l’utilisateur en utilisant la classe « Scanner » et le stocke dans la variable « bin_nbr ».
- Il entre ensuite dans une boucle pour convertir le nombre binaire en décimal :
- À chaque itération, il calcule le reste lorsque « bin_nbr » est divisé par 10 (ce qui donne le chiffre binaire le moins significatif).
- Il ajoute ce reste multiplié par i à la variable ‘dec_nbr’ pour accumuler la valeur décimale.
- Il multiplie « i » par 2 pour préparer le chiffre binaire suivant.
- Elle met à jour ‘bin_nbr’ en supprimant le chiffre le moins significatif (le plus à droite) et en le divisant par 10.
- La boucle continue jusqu’à ce que ‘bin_nbr’ devienne zéro, convertissant ainsi l’ensemble du nombre binaire en décimal.
- Après la conversion en décimal, il entre dans une autre boucle pour convertir le nombre décimal en octal :
- À chaque itération, il calcule le reste lorsque ‘dec_nbr’ est divisé par 8 (ce qui donne le chiffre octal le moins significatif).
- Il stocke ce reste dans le tableau ‘oct_nbr’.
- Il met à jour ‘dec_nbr’ en le divisant par 8 pour passer au chiffre octal suivant.
- Enfin, il affiche la représentation octale du nombre binaire d’origine en parcourant le tableau ‘oct_nbr’ dans l’ordre inverse.
É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



