Name of code : classe objet avancé

Categorie : Java avancé

Dans cet exemple, nous avons créé une classe `Etudiant` avec des attributs tels que le nom, le prénom, la date de naissance, l'adresse, le numéro d'étudiant et une liste de notes. Nous avons également ajouté deux fonctions qui calculent la moyenne des notes de l'étudiant et déterminent sa mention. Enfin, nous avons ajouté une méthode qui renvoie une description détaillée de l'objet. Dans la fonction `main`, nous avons créé un objet `Etudiant` avec des valeurs initiales, affiché sa description et modifié certaines de ses valeurs. Ensuite, nous avons affiché la nouvelle description de l'objet pour vérifier que les modifications ont été prises en compte.

Java

NetBeans

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;

public class Etudiant {
    private String nom;
    private String prenom;
    private LocalDate dateNaissance;
    private String adresse;
    private String numeroEtudiant;
    private ArrayList notes;

    public Etudiant(String nom, String prenom, LocalDate dateNaissance, String adresse, String numeroEtudiant, ArrayList notes) {
        this.nom = nom;
        this.prenom = prenom;
        this.dateNaissance = dateNaissance;
        this.adresse = adresse;
        this.numeroEtudiant = numeroEtudiant;
        this.notes = notes;
    }

    public String getNom() {
        return nom;
    }

    public void setNom(String nom) {
        this.nom = nom;
    }

    public String getPrenom() {
        return prenom;
    }

    public void setPrenom(String prenom) {
        this.prenom = prenom;
    }

    public LocalDate getDateNaissance() {
        return dateNaissance;
    }

    public void setDateNaissance(LocalDate dateNaissance) {
        this.dateNaissance = dateNaissance;
    }

    public String getAdresse() {
        return adresse;
    }

    public void setAdresse(String adresse) {
        this.adresse = adresse;
    }

    public String getNumeroEtudiant() {
        return numeroEtudiant;
    }

    public void setNumeroEtudiant(String numeroEtudiant) {
        this.numeroEtudiant = numeroEtudiant;
    }

    public ArrayList getNotes() {
        return notes;
    }

    public void setNotes(ArrayList notes) {
        this.notes = notes;
    }

    // Fonction pour calculer la moyenne des notes de l'étudiant
    public double calculerMoyenne() {
        double total = 0;
        for (int note : notes) {
            total += note;
        }
        return total / notes.size();
    }

    // Fonction pour déterminer la mention de l'étudiant
    public String determinerMention() {
        double moyenne = calculerMoyenne();
        if (moyenne < 10) {
            return "Non admis";
        } else if (moyenne < 12) {
            return "Admis";
        } else if (moyenne < 14) {
            return "Mention assez bien";
        } else if (moyenne < 16) {
            return "Mention bien";
        } else {
            return "Mention très bien";
        }
    }

    // Méthode pour retourner une description détaillée de l'objet
    public String getDescription() {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        return "Nom : " + nom +
                "\nPrénom : " + prenom +
                "\nDate de naissance : " + dateNaissance.format(formatter) +
                "\nAdresse : " + adresse +
                "\nNuméro d'étudiant : " + numeroEtudiant +
                "\nNotes : " + notes +
                "\nMoyenne : " + calculerMoyenne() +
                "\nMention : " + determinerMention();
    }

    public static void main(String[] args) {
        // Créer un objet Etudiant avec des valeurs initiales
        ArrayList notes = new ArrayList<>();
        notes.add(12);
        notes.add(14);
        notes.add(16);
        Etudiant etudiant = new Etudiant("Dupont", "Jean", LocalDate.of(1990, 7, 15), "10 rue des Lilas", "E123456", notes);

        // Afficher la description de l'objet Etudiant
        System.out.println(etudiant.getDescription());
    
        // Modifier certaines valeurs de l'objet Etudiant
        etudiant.setAdresse("15 avenue des Roses");
        etudiant.getNotes().add(18);
    
        // Afficher la nouvelle description de l'objet Etudiant
        System.out.println("\nNouvelle description :");
        System.out.println(etudiant.getDescription());
    }
}