Menu
Coddy logo textTech

Rückblick – Einfacher Taschenrechner

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

challenge icon

Aufgabe

Schwer

Erstelle eine vollständige Calculator-Klasse, die alle erlernten Konzepte verwendet:

  • Felder: Private Felder für name (String), memory (double), operationCount (int)
  • Konstruktoren: Ein Konstruktor mit Parametern und ein Standardkonstruktor, die mithilfe von this()-Verkettung miteinander verbunden werden
  • this-Schlüsselwort: Verwende this, um Felder zuzuweisen und in Methoden auf sie zuzugreifen
  • Getter: getName(), getMemory(), getOperationCount()
  • Methoden: add, subtract, multiply, divide, power

Die Methode add speichert ihr Ergebnis in memory. Alle Methoden erhöhen operationCount. Die Methode divide gibt 0 zurück, wenn durch 0 geteilt wird. Die Methode power verwendet Math.pow().

Probier es selbst

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        double num1 = Double.parseDouble(scanner.nextLine());
        double num2 = Double.parseDouble(scanner.nextLine());
        
        Calculator calc = new Calculator(name);
        
        System.out.println("Calculator: " + calc.getName());
        System.out.println("Memory: " + calc.getMemory());
        
        System.out.println("Add: " + calc.add(num1, num2));
        System.out.println("Subtract: " + calc.subtract(num1, num2));
        System.out.println("Multiply: " + calc.multiply(num1, num2));
        System.out.println("Divide: " + calc.divide(num1, num2));
        System.out.println("Divide by zero: " + calc.divide(num1, 0));
        System.out.println("Memory: " + calc.getMemory());
        System.out.println("Power: " + calc.power(num1, num2));
        System.out.println("Operations: " + calc.getOperationCount());
    }
}

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Java-Compiler