Exercices corrigés Java les classes et l’héritage – Partie 1
Avec des exercices corrigés en Java sur les classes et l’héritage, vous pratiquerez divers concepts du langage 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.
Vous pouvez utiliser l’éditeur Java suivant pour résoudre les exercices suivants: (Cliquez sur l’onglet input si vous souhaitez entrer des valeurs, cliquez sur Run pour exécuter votre programme, le résultat sera affichée sur l’onglet output).
Exercice 1:
Écrivez une classe « Rectangle » ayant deux variables « a » et « b » et une fonction membre « surface() » qui retournera la surface du rectangle.
import java.util.*; class Rectangle { public int a,b; public int surface(){ return a*b; } } public class Test{ public static void main(String []args){ Rectangle rectangle = new Rectangle(); Scanner in = new Scanner(System.in); System.out.println("Entrez la largeur(a) du rectangle :"); rectangle.a = in.nextInt(); System.out.println("Entrez la longueur(b) du rectangle :"); rectangle.b = in.nextInt(); System.out.println("Surface : "+ rectangle.surface()); in.close(); } }
Exercice 2:
Écrivez une classe « Somme » ayant deux variables « n1 » et « n2 » et une fonction membre « sum() » qui calcule la somme. Dans la méthode principale main demandez à l’utilisateur d’entrez deux entiers et passez-les au constructeur par défaut de la classe « Somme » et afficher le résultat de l’addition des deux nombres.
import java.util.*; class Somme { public int n1, n2; //constructeur par défaut Somme(int nbr1, int nbr2){ n1 = nbr1; n2 = nbr2; System.out.println("Les nombres sont initialisés."); } public int sum(){ return n1 + n2; } } public class Main { public static void main(String []args){ Scanner in = new Scanner(System.in); System.out.println("Entrez le premier nombre :"); int n1 = in.nextInt(); System.out.println("Entrez le deuxième nombre :"); int n2 = in.nextInt(); //appeler le constructeur par défaut. Somme s = new Somme(n1,n2); System.out.println("Le résultat de l'addition est : "+ s.sum()); in.close(); } }
Exercice 3:
Écrivez une classe Java appelée « Student » avec les membres suivant :
- nom (de type String),
- note1, note2 (de type int)
Le programme demande à l’utilisateur d’entrer le nom et les notes. calc_moy() calcule la note moyenne et show() affiche le nom et la note moyenne.
import java.util.*; class Student { public String nom; public int note1, note2; Student(String nom, int note1, int note2){ this.nom = nom; this.note1 = note1; this.note2 = note2; } public int calc_moy(){ return (note1 + note2)/2; } public void show(){ System.out.println("Étudiant: "+ nom +" \n moyenne: "+ calc_moy()); } } public class Main{ public static void main(String []args){ Scanner in = new Scanner(System.in); System.out.println("Entrez le nom: "); String nom = in.nextLine(); System.out.println("Entrez les notes de deux matiéres: "); int note1 = in.nextInt(); int note2 = in.nextInt(); Student s = new Student(nom, note1, note2); s.show(); in.close(); } }
Exercice 4:
Effectuez une opération d’addition sur des nombres complexes à l’aide d’une classe Java appelée « Complex ». Le programme doit demander la partie réelle et imaginaire de deux nombres complexes et afficher les parties réelle et imaginaire de leur somme.
Exemple:
Premier nombre Entrez la partie réelle: 1 Entrez la partie imaginaire: 4 Deuxième nombre Entrez la partie réelle: 2 Entrez la partie imaginaire: 3 La somme est 3 + 7i
import java.util.*; public class Complex{ double real, img; Complex(double r, double i){ this.real = r; this.img = i; } public static Complex somme(Complex c1, Complex c2) { Complex c = new Complex(0, 0); c.real = c1.real + c2.real; c.img = c1.img + c2.img; return c; } public static void main(String args[]) { Scanner in = new Scanner(System.in); System.out.println("Premier nombre"); System.out.println("Entrez la partie réelle: "); double r1 = in.nextDouble(); System.out.println("Entrez la partie imaginaire: "); double i1 = in.nextDouble(); Complex c1 = new Complex(r1, i1); System.out.println("Deuxième nombre"); System.out.println("Entrez la partie réelle: "); double r2 = in.nextDouble(); System.out.println("Entrez la partie imaginaire: "); double i2 = in.nextDouble(); Complex c2 = new Complex(r2, i2); // calculer la somme des deux nombres complexes c1 et c2 Complex c = somme(c1, c2); System.out.printf("La somme est: "+ c.real+" + "+ c.img +"i"); } }
Exercice 5:
Créez une classe appelée « Point ». Cette classe doit avoir 2 entiers (x, y) en tant que membres privés. Le constructeur doit définir les valeurs de x et y via des paramètres. La classe doit avoir une méthode publique appelée « distance ». Cela prend un seul paramètre(Point) et renvoie la distance entre les 2 points.
Exemple:
P1 (5,6) P2 (3,2) La distance entre P1 et P2 est : 4.47214
import java.lang.Math; class Point { private double x; private double y; Point(double x, double y) { this.x = x; this.y = y; } public double getX() { return x; } public double getY() { return y; } public double distance(Point p) { double px = this.getX() - p.getX(); double py = this.getY() - p.getY(); return Math.sqrt(px * px + py * py); } } public class Test { public static void main(String []args){ Point p1 = new Point(5, 6); Point p2 = new Point(3, 2); System.out.println("P1 ("+ p1.getX() +","+ p1.getY() +")"); System.out.println("P2 ("+ p2.getX() +","+ p2.getY() +")"); System.out.println("La distance entre P1 et P2 est : "+p1.distance(p2)); } }