package Command;
import java.util.ArrayList;
public class Calculator {
private CommandInterface addcommand = null;
private CommandInterface subcommand = null;
private ArrayList<CommandInterface> undoCommand = new ArrayList<CommandInterface>();
public void setaddcommand(CommandInterface addcommand) {
this.addcommand = addcommand;
}
public void setsubcommand(CommandInterface subcommand) {
this.subcommand = subcommand;
}
public void addPressed() {
this.addcommand.Execute();
undoCommand.add(this.addcommand);
}
public void subPressed() {
this.subcommand.Execute();
undoCommand.add(this.subcommand);
}
public void undoImpl() {
if(this.undoCommand.size()>0) {
System.out.println("可撤销的命令为"+this.undoCommand.size());
CommandInterface command = this.undoCommand.get(undoCommand.size()-1);
command.Undo();
this.undoCommand.remove(command);
}
else {
System.out.println("可撤销的命令为"+this.undoCommand.size());
}
}
}