Cześć. Mam kalkulator, który liczy w odwrotnej notacji polskiej. Działa dobrze, ale problem pojawia się, gdy występuje sytuacja np.: 2++2. Jak zablokować możliwość wielokrotnego wciskania operatorów?
Tutaj fragment kodu.
//dolaczenie łańcucha klikniętego przycisku na końcu tekstu w pliku wynikowym
private class InsertAction implements ActionListener
{
public InsertAction(){}
@Override
public void actionPerformed(ActionEvent event)
{
String input = event.getActionCommand();
String resultString = null;
String output =display.getText();
if (start)
{
display.setText(" ");
start = false;
}
if (input.equals("=")) //jesli = to zwraca wynik
{
ReversePolishNotation onp = new ReversePolishNotation(output);
resultString = "" + onp.count();
display.setText("" + resultString);
start = true;
}
else if(input.equals("CLR")) //przycisk clear
{
display.setText(" ");
start = true;
}
else if(input.equals("BP")) //przycisk backspace
{
if(output.length() >= 1)
{
display.setText(output.substring(0, output.length() - 1));
}
}
else
{
display.setText(display.getText() + input);
}
}
}