Javaで電卓のシミュレーション

概要

電卓のように最後に施した演算の結果をフィールド変数に保存する。四則演算ができるようなプログラム。

class Calculator {
	double result;

	void clear() {
		result = 0;
	}

	void add(double a, double b) {
		result = a + b;
	}

	void add(double a) {
		result += a;
	}

	void sub(double a, double b) {
		result = a - b;
	}

	void sub(double a) {
		result -= a;
	}

	void mult(double a, double b) {
		result = a * b;
	}

	void mult(double a) {
		result *= a;
	}

	void div(double a, double b) {
		result = a / b;
	}

	void div(double a) {
		result /= a;
	}
}

public class CalcTest {
	public static void main(String[] args) {
		Calculator calc = new Calculator();
		System.out.println("オブジェクトcalcを生成しました");

		System.out.println("オブジェクトのフィールドresultをクリアします");
		calc.clear();
		System.out.println("変数 result=[" + calc.result + "]");

		System.out.println();

		double a = 10, b = 20;
		calc.add(a, b);
		System.out.println("[" + a + "]+[" + b + "]=[" + calc.result + "]");

		a = 30;
		System.out.println("さらに[" + a + "]を加算します");
		calc.add(a);
		System.out.println("変数 result=[" + calc.result + "]");

		System.out.println("オブジェクトのフィールドresultをクリアします");
		calc.clear();
		System.out.println("変数 result=[" + calc.result + "]");

		a = 40;
		b = 50;
		calc.sub(a, b);
		System.out.println("[" + a + "]-[" + b + "]=[" + calc.result + "]");

		a = 60;
		System.out.println("さらに[" + a + "]を減算します");
		calc.sub(a);
		System.out.println("変数 result=[" + calc.result + "]");

		System.out.println("オブジェクトのフィールドresultをクリアします");
		calc.clear();
		System.out.println("変数 result=[" + calc.result + "]");

		a = 70;
		b = 80;
		calc.mult(a, b);
		System.out.println("[" + a + "]x[" + b + "]=[" + calc.result + "]");

		a = 90;
		System.out.println("さらに[" + a + "]を乗算します");
		calc.mult(a);
		System.out.println("変数 result=[" + calc.result + "]");

		System.out.println("オブジェクトのフィールドresultをクリアします");
		calc.clear();
		System.out.println("変数 result=[" + calc.result + "]");

		a = 100;
		b = 110;
		calc.div(a, b);
		System.out.println("[" + a + "]/[" + b + "]=[" + calc.result + "]");

		a = 120;
		System.out.println("さらに[" + a + "]を除算します");
		calc.div(a);
		System.out.println("変数 result=[" + calc.result + "]");

		System.out.println("オブジェクトのフィールドresultをクリアします");
		calc.clear();
		System.out.println("変数 result=[" + calc.result + "]");

	}
}

実行結果

オブジェクトcalcを生成しました
オブジェクトのフィールドresultをクリアします
変数 result=[0.0]

[10.0]+[20.0]=[30.0]
さらに[30.0]を加算します
変数 result=[60.0]
オブジェクトのフィールドresultをクリアします
変数 result=[0.0]
[40.0]-[50.0]=[-10.0]
さらに[60.0]を減算します
変数 result=[-70.0]
オブジェクトのフィールドresultをクリアします
変数 result=[0.0]
[70.0]x[80.0]=[5600.0]
さらに[90.0]を乗算します
変数 result=[504000.0]
オブジェクトのフィールドresultをクリアします
変数 result=[0.0]
[100.0]/[110.0]=[0.9090909090909091]
さらに[120.0]を除算します
変数 result=[0.007575757575757575]
オブジェクトのフィールドresultをクリアします
変数 result=[0.0]

カシオ スタンダード電卓 時間・税計算 ミニジャストタイプ 12桁 MW-12GT-N

カシオ スタンダード電卓 時間・税計算 ミニジャストタイプ 12桁 MW-12GT-N