Menu
Coddy logo textTech

Zusammenfassung – Zähler & Utility

Teil des Abschnitts Objektorientierte Programmierung der Java-Journey von Coddy — Lektion 19 von 87.

challenge icon

Aufgabe

Einfach

Lassen Sie uns ein vollständiges System aufbauen, das eine Counter-Klasse zur Verfolgung von Instanzen mit einer MathUtils-Utility-Klasse kombiniert – und damit alles zusammenführt, was Sie über statische Variablen, statische Methoden, statische Blöcke und Konstanten gelernt haben.

Sie werden drei Dateien erstellen, um Ihren Code zu organisieren:

  • Counter.java: Erstellen Sie eine Klasse, die verfolgt, wie viele Instanzen erstellt wurden:
    • Eine private statische Variable, um die Gesamtzahl der Instanzen zu zählen
    • Eine private Instanzvariable id, die die eindeutige Kennung jedes Zählers speichert
    • Ein Konstruktor, der die Gesamtzahl erhöht und den aktuellen Zählerstand als ID dieser Instanz zuweist
    • Eine Methode getId(), die die eindeutige ID dieses Zählers zurückgibt
    • Eine statische Methode getTotalCount(), die zurückgibt, wie viele Counter-Objekte erstellt wurden
  • MathUtils.java: Erstellen Sie eine Utility-Klasse mit ausschließlich statischen Mitgliedern (wird nie instanziiert):
    • Eine öffentliche Konstante PI mit dem Wert 3.14159
    • Eine öffentliche Konstante HALF mit dem Wert 0.5
    • Eine statische Methode square(int n), die n zum Quadrat zurückgibt
    • Eine statische Methode cube(int n), die n hoch drei zurückgibt
    • Eine statische Methode circleArea(double radius), die PI * radius * radius zurückgibt
  • Main.java: Demonstrieren Sie das Zusammenwirken beider Klassen. Sie erhalten zwei Eingaben: eine Zahl für mathematische Operationen und eine Anzahl, wie viele Counter-Objekte erstellt werden sollen. Geben Sie Folgendes aus:
    • Square: [value]
    • Cube: [value]
    • Circle area (radius=[number]): [value] (Fläche auf 2 Dezimalstellen formatiert)
    • Für jeden erstellten Counter geben Sie aus: Counter [id] created
    • Schließlich: Total counters: [count]

Sie erhalten zwei Eingaben: eine Zahl (int) für die mathematischen Berechnungen und eine Anzahl (int), wie viele Counter-Objekte erstellt werden sollen.

Denken Sie daran, auf statische Mitglieder über den Klassennamen zuzugreifen (wie MathUtils.PI und Counter.getTotalCount()) und String.format("%.2f", value) für die Formatierung von Dezimalwerten zu verwenden.

Probier es selbst

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: Verwende statische Methoden von MathUtils zum Berechnen und Ausgeben von:
        // - Square: [value]
        // - Cube: [value]
        // - Circle area (radius=[number]): [value] (formatiert auf 2 Dezimalstellen)
        
        // TODO: Erstelle 'count' Anzahl an Counter Objekten
        // Gib für jeden erstellten Counter aus: Counter [id] created
        
        // TODO: Gib die Gesamtzahl der erstellten Counter aus
        // Total counters: [count]
    }
}

Alle Lektionen in Objektorientierte Programmierung