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));
  }
}
QCM-Java

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *