вот такой код:
Код:
Код
for (int i = 0; i < buttons.length; i++)
{
    if ((ae.getSource().equals(buttons[i]))
            && (buttons[i].getText().equals("+")))
    {
        this.currentOperation = new OperationsFactory().GetOperation("+");
        this.currentOperation.setFirstOperand(Float.parseFloat(this.tf.getText()));
        this.firstPart = 0;
        this.secondPart = 0;
        this.decimal = true;
    }
    if ((ae.getSource().equals(buttons[i]))
            && (buttons[i].getText().equals("-")))
    {
        this.currentOperation = new OperationsFactory().GetOperation("-");
        this.currentOperation.setFirstOperand(Float.parseFloat(this.tf.getText()));
        this.firstPart = 0;
        this.secondPart = 0;
        this.decimal = true;
    }
...
}

почему-то когда пишу явно строку в GetOperation - все прекрасно работает, но если пишу так: GetOperation(buttons[i].getText()) - не работает. не уверена, что вообще правильно обрабатываю нажатие кнопки. ae.getSource() - мне нужно для того, чтобы прога поняла, что я нажала кнопку, а выражение с equals - понять, какая именно нажата кнопка.