设为首页 加入收藏

TOP

java计算器的实现(二)
2014-11-23 23:57:15 来源: 作者: 【 】 浏览:13
Tags:java 计算器 实现
ltShow.setText(s);
} 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.”);
} else if (dataList.size() == 1) {
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(“/”)

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇两个月的求职之旅 下一篇行为描述面试(STAR)基本知识

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

Shell 基本运算符 -
Shell 函数 | 菜鸟教
Linux 常用命令集合
socket 编程如何实现
Python创建简易的Soc