} else if (dataList.size() == 1 && equalButtonIsPressed == false) {
String s1 = dataList.get(0);
String s2 = s1 + s;
dataList.set(0, s2);
resultShow.setText(s2);
} else if (dataList.size() == 1 && equalButtonIsPressed == true) {
dataList.set(0, s);
resultShow.setText(s);
equalButtonIsPressed = false;
} else if (dataList.size() == 2) {
dataList.add(s);
resultShow.setText(s);
} else if (dataList.size() == 3) {
String s1 = dataList.get(2);
String s2 = s1 + s;
dataList.set(2, s2);
resultShow.setText(s2);
}
}
// 2.如果用户按下的是操作符按钮
else if (e.getSource() instanceof OperationButton) {
OperationButton op = (OperationButton) e.getSource();
String ops = op.getOperator();
if (dataList.size() == 1) {
System.out.println(“2 size=1———”);
dataList.add(ops);
System.out.println(dataList);
} else if (dataList.size() == 2) {
dataList.set(1, ops);
} else if (dataList.size() == 3) {
String n1 = dataList.get(0);
String oper = dataList.get(1);
String n2 = dataList.get(2);
double d1 = Double.parseDouble(n1);
double d2 = Double.parseDouble(n2);
double d = 0.0;
if (oper.equals(“+”))
d = d1 + d2;
else if (oper.equals(“-”))
d = d1 – d2;
else if (oper.equals(“*”))
d = d1 * d2;
else if (oper.equals(“/”))
d = d1 / d2;
dataList.clear();
dataList.add(“” + d);
resultShow.setText(“” + d);
}
}
// 3.如果用户按下的是正负号按钮
else if (e.getSource() == signButton) {
if (dataList.size() == 1) {
String s = dataList.get(0);
char c = s.charAt(0);
if (c == ‘-’) {
s = s.substring(1);
} else {
s = “-” + s;
}
dataList.set(0, s);
resultShow.setText(s);
} else if (dataList.size() == 3) {
String s = dataList.get(2);
char c = s.charAt(0);
if (c == ‘-’) {
s = s.substring(1);
} else {
s = “-” + s;
}
dataList.set(2, s);
resultShow.setText(s);
}
}
// 4.如果用户按下的是小数点按钮
else if (e.getSource() == dotButton) {
if (dataList.size() == 0) {
dataList.add(“0.”);
resultShow.setText(“0.”);
String s = dataList.get(0);
if (!s.contains(“.”)) {
dataList.set(0, s + “.”);
resultShow.setText(s + “.”);
}
} else if (dataList.size() == 3) {
String s = dataList.get(2);
if (!s.contains(“.”)) {
dataList.set(2, s + “.”);
resultShow.setText(s + “.”);
}
}
}
// 5.如果用户按下的是清空按钮
else if (e.getSource() == clearZeroButton) {
dataList.clear();
resultShow.setText(“0″);
}
// 6.如果用户按下的是退格按钮
else if (e.getSource() == backspaceButton) {
if (dataList.size() == 1) {
String s = dataList.get(0);
if (s.length() >= 1) {
s = s.substring(0, s.length() – 1);
}
if (s.length() == 0) {
dataList.clear();
resultShow.setText(“0″);
} else {
dataList.set(0, s);
resultShow.setText(s);
}
} else if (dataList.size() == 3) {
String s = dataList.get(2);
if (s.length() >= 1) {
s = s.substring(0, s.length() – 1);
}
if (s.length() == 0) {
dataList.removeLast();
resultShow.setText(“0″);
} else {
dataList.set(2, s);
resultShow.setText(s);
}
}
}
// 7.如果用户按下的是倒数按钮
else if (e.getSource() == reciprocalButton) {
if(dataList.size() == 1 || dataList.size() == 2){
String number1 = (String)dataList.getFirst();
try{
double d = Double.parseDouble(number1);
d = 1.0 / d;
String str = String.valueOf(d);
dataList.set(0, str);
resultShow.setText(str);
}
catch(Exception ee){
}
}
}
// 8.如果用户按下的是等号按钮
else {
equalButtonIsPressed = true;
if (dataList.size() == 2) {
System.out.println(“============”);
String n1 = dataList.get(0);
String oper = dataList.get(1);
double d1 = Double.parseDouble(n1);
double d = 0.0;
if (oper.equals(“+”))
d = d1 + d1;
else if (oper.equals(“-”))
d = d1 – d1;
else if (oper.equals(“*”))
d = d1 * d1;
else if (oper.equals(“/”)