Menu
Coddy logo textTech

Récapitulatif - Compteur et utilitaire

Fait partie de la section Programmation Orientée Objet du Journey Java de Coddy — leçon 19 sur 87.

challenge icon

Défi

Facile

Construisons un système complet qui combine une classe Counter pour le suivi des instances avec une classe utilitaire MathUtils - regroupant tout ce que vous avez appris sur les variables statiques, les méthodes statiques, les blocs statiques et les constantes.

Vous allez créer trois fichiers pour organiser votre code :

  • Counter.java : Créez une classe qui suit le nombre d'instances créées :
    • Une variable statique privée pour compter le nombre total d'instances
    • Une variable d'instance privée id qui stocke l'identifiant unique de chaque compteur
    • Un constructeur qui incrémente le compte total et assigne le compte actuel comme identifiant de cette instance
    • Une méthode getId() qui retourne l'identifiant unique de ce compteur
    • Une méthode statique getTotalCount() qui retourne le nombre d'objets Counter créés
  • MathUtils.java : Créez une classe utilitaire avec uniquement des membres statiques (jamais instanciée) :
    • Une constante publique PI avec la valeur 3.14159
    • Une constante publique HALF avec la valeur 0.5
    • Une méthode statique square(int n) qui retourne n au carré
    • Une méthode statique cube(int n) qui retourne n au cube
    • Une méthode statique circleArea(double radius) qui retourne PI * radius * radius
  • Main.java : Démontrez le fonctionnement conjoint des deux classes. Vous recevrez deux entrées : un nombre pour les opérations mathématiques et un nombre d'objets Counter à créer. Affichez les éléments suivants :
    • Square: [value]
    • Cube: [value]
    • Circle area (radius=[number]): [value] (aire formatée à 2 décimales)
    • Pour chaque Counter créé, affichez : Counter [id] created
    • Enfin : Total counters: [count]

Vous recevrez deux entrées : un nombre (int) pour les calculs mathématiques, et un compte (int) pour le nombre d'objets Counter à créer.

N'oubliez pas d'accéder aux membres statiques via le nom de la classe (comme MathUtils.PI et Counter.getTotalCount()), et utilisez String.format("%.2f", value) pour formater les valeurs décimales.

Essayez vous-même

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int number = scanner.nextInt();
        int count = scanner.nextInt();
        
        // TODO: Utiliser les méthodes statiques de MathUtils pour calculer et afficher :
        // - Square: [value]
        // - Cube: [value]
        // - Circle area (radius=[number]): [value] (formaté à 2 décimales)
        
        // TODO: Créer un nombre 'count' d'objets Counter
        // Pour chaque Counter créé, afficher : Counter [id] created
        
        // TODO: Afficher le nombre total de compteurs créés
        // Total counters: [count]
    }
}

Toutes les leçons de Programmation Orientée Objet