Menu
Coddy logo textTech

復習:簡易電卓

CoddyのJavaジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 9/87。

challenge icon

チャレンジ

難しい

これまでに学んだすべての概念を使用して、完全な Calculator クラスを構築してください:

  • フィールド: name (String)、memory (double)、operationCount (int) のプライベートフィールド
  • コンストラクタ: 引数付きコンストラクタと、this() チェーンを使用したデフォルトコンストラクタ
  • this キーワード: this を使用してフィールドに値を代入し、メソッド内でそれらにアクセスする
  • ゲッター: getName()getMemory()getOperationCount()
  • メソッド: addsubtractmultiplydividepower

add メソッドは結果を memory に保存します。すべてのメソッドは operationCount をインクリメントします。divide メソッドは、0で割る場合に 0 を返します。power メソッドは Math.pow() を使用します。

自分で試してみよう

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());
    }
}

オブジェクト指向プログラミングのすべてのレッスン