我正在制作一个与windows计算器相同的计算器。我被困在历史专题中。哪个是实现Windows计算器中的历史记录功能的最佳UI控件? 我也想要历史上的onclick事件。
答案 0 :(得分: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)
访问列表。
答案 1 :(得分:0)
您是否可以使用包含大量先前输入计算的List?如果您事先知道最大可能的历史记录大小,那么您可以坚持使用普通数组,但List会为您提供更大的灵活性。
答案 2 :(得分:0)
您需要在此处使用索引存储所有操作和结果。每次执行操作时都要增加索引。要检索过去的操作,请操作索引并获取值。您可以使用Collection API来存储操作。