Menu
CoddyTech

回顾:简易计算器

本课属于 Coddy Java 学习旅程的“面向对象编程”单元。第 9 课,共 87 课。

challenge icon

挑战

困难

构建一个完整的 Calculator 类,运用学过的所有概念:

  • 字段:私有字段:name(String)、memory(double)、operationCount(int)
  • 构造函数:一个带参数的构造函数,以及一个使用 this() 链式调用的默认构造函数
  • this 关键字:使用 this 为字段赋值,并在方法中访问字段
  • Getter 方法:getName()、getMemory()、getOperationCount()
  • 方法:add、subtract、multiply、divide、power

add 方法会将结果存储在 memory 中。所有方法都会递增 operationCount。如果除数为零,divide 方法会返回 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());
    }
}

面向对象编程中的所有课

自己练习: Java 在线编译器