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

您需要在此处使用索引存储所有操作和结果。每次执行操作时增加索引。要检索过去的操作,操作索引即可获取值。您可以使用 Collection API 来存储操作。

于 2012-05-02T06:56:46.763 回答
0

您可以只使用包含许多先前输入的计算的列表吗?如果您事先知道最大可能的历史记录大小,则可以坚持使用普通数组,但 List 将为您提供更大的灵活性。

于 2012-05-02T06:50:10.870 回答