0

Windows電卓と同じ電卓を作っています。履歴機能で立ち往生しています。Windows Calculator に見られる履歴機能を実装するのに最適な UI コントロールはどれですか? 履歴の onclick イベントも必要です。

4

3 に答える 3

1

計算をどのように表現しているかはわかりませんが、次のような単純なクラスを作成できます。

enum Operator {PLUS,MINUS,DIV,MULT};

class Calculation {
    float operand1,operand2;
    Operator operator;
    public Calculation(float op1,float op2,Operator operator){
        this.operand1=op1;
        this.operand1=op2;
        this.operator=operator;
    }
}

次に、計算が完了したら、このタイプのオブジェクトを作成し、ArrayList に追加します。

List<Calculation> history = new ArrayList<Calculation>();// history

history.add(new Calculation(5,5,Operator.PLUS));// add a new `Calculation` to our list

次にhistory.get(some_integer)、UI に基づいて でリストにアクセスします。

于 2012-05-02T07:09:45.927 に答える
0

以前に入力した多くの計算を含むリストを使用できますか? 可能な最大履歴サイズが事前にわかっている場合は、通常の配列をそのまま使用できますが、リストを使用すると柔軟性が向上します。

于 2012-05-02T06:50:10.870 に答える
0

ここにインデックスを付けてすべての操作と結果を保存する必要があります。操作を行うたびにインデックスを増やします。過去の操作を取得するには、インデックスを操作して値を取得できます。コレクション API を使用して、操作を保存できます。

于 2012-05-02T06:56:46.763 に答える