Well, for addition shouldn't it be
tmp += Integer.parseInt(display.getText()); instead of
tmp = Integer.parseInt(display.getText()); ? Just had a quick look.