-2

数学演算子の代わりに使用できる変数のセットを使用できるようにしたいと思います。学習演習として電卓を作成しようとしています。ボタンが押されるたびに計算が行われるのは良くないと思いますが、ifステートメントに計算を含めずに質問の演算子を変更するにはどうすればよいですか?

string plus = +;
string equals = =;
public void button_clicked(....)
{
    .....
    7 equals 4 plus 3;
4

1 に答える 1

1

最初の質問。ボタンが押されたときに計算するのはなぜ良くないのでしょうか。

本当に必要な場合は、コマンド パターンを使用して、ユーザーが等号をクリックしたときに実行するコマンドのリストを保存できます。

例えば

public interface Operation {

    public double execute();

}

public class Add implements Operation {

    private double num1;
    private double num2;

    public Add(double num1, double num2) {
        this.num1 = num1;
        this.num2 = num2;
    }

    public double execute() {
        return num1 + num2;
    }

}

次に、ボタンが押されるたびに、新しい操作を作成してリストに保存します。equals が押されると、次から次へと結果を渡す各操作が実行されます。

明らかに、さらに多くの操作が必要になります。

于 2013-02-21T17:05:33.550 に答える