1.觉得actionPerformed()方法里比较乱,因为你在if-else嵌套中又写switch,最好不要这样写
用一个方法来写运算比较好点,如下
public void calculator(double x)
{
if(lastCommand.equals("+")) result+=x;
else if(lastCommand.equals("-")) result-=x;
else if(lastCommand.equals("*")) result*=x;
else if(lastCommand.equals("/")) result/=x;
else if(lastCommand.equals("=")) result=x;
else if(lastCommand.equals("+/-")) result=-x;
display.setText(""+result);
}
2.你用(char flag = 'n'; // 标志按了哪个运算符,初始为n,表示什么运算符没按)
不如用boolean flag=false;做标志位还好些!~
3.还有最好用swing写,不要用awt写!~
请不要怪我乱提意见,呵呵!~