欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入
try{
if(e2.getSource()==b1)
//选择“CE”清零
{ tf1.setText(“0”);
//把显示屏清零
str.setLength(0);
//清空字符串缓冲区以准备接收新的输入运算数
} else if(e2.getSource()==b2)
//选择“C”清零
{ tf1.setText(“0”);
//把显示屏清零
str.setLength(0);
} else if(e2.getSource()==b23)
//单击“+/-”选择输入的运算数是正数还是负数
{ x=Double.parseDouble(tf1.getText().trim());
tf1.setText(“”+(-x)); } else if(e2.getSource()==b25)
//单击加号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
//清空缓冲区以便接收新的另一个运算数
y=0d; z=0; } else if(e2.getSource()==b20)
//单击减号按钮获得x的值和z的值并清空y的值
{ x=Double.parseDouble(tf1.getText().trim());
str.setLength(0); y=0d; z=1; } else if(e2.getSource()==b15)
//单击乘号按钮获得x的值和z的值并清空y的值
{ x=Double.parseDouble(tf1.getText().trim()); str.setLength(0); y=0d; z=2; }
else if(e2.getSource()==b10)//单击除号按钮获得x的值和z的值并空y的值
{ x=Double.parseDouble(tf1.getText().trim()); str.setLength(0); y=0d; z=3; }
else if(e2.getSource()==b26)//单击等号按钮输出计算结果
{ str.setLength(0); switch(z) { case 0 : tf1.setText(“”+(x+y));
break; case 1 : tf1.setText(“”+(x-y));break; case 2 : tf1.setText(“”+(x*y));break;
case 3 : tf1.setText(“”+(x/y));break; } } else if(e2.getSource()==b24)
//单击“.”按钮输入小数
{ if(tf1.getText().trim().indexOf(“.”)!=-1)
//判断字符串中是否已经包含了小数点
{ } else//如果没数点有小
{ if(tf1.getText().trim().equals(“0”))
//如果初时显示为0
{ str.setLength(0);
tf1.setText((str.append(“0”+e2.getActionCommand())).toString()); }
else if(tf1.getText().trim().equals(“”))
//如果初时显示为空则不做任何操作
{ } else { tf1.setText(str.append(e2.getActionCommand()).toString()); }
} y=0d; } else if(e2.getSource()==b11)
//求平方根
{ x=Double.parseDouble(tf1.getText().trim());
tf1.setText(“数字格式异常”);
if(x<0) tf1.setText(“负数没有平方根”);
else tf1.setText(“”+Math.sqrt(x)); str.setLength(0); y=0d; }
else if(e2.getSource()==b16)//单击了“%”按钮
{ x=Double.parseDouble(tf1.getText().trim());
tf1.setText(“”+(0.01*x)); str.setLength(0); y=0d;
} else if(e2.getSource()==b21)//单击了“1/X”按钮
{ x=Double.parseDouble(tf1.getText().trim());
if(x==0) { tf1.setText(“除数不能为零”); } else
{ tf1.setText(“”+(1/x)); } str.setLength(0); y=0d;
} else if(e2.getSource()==b3)//MC为清除内存
{ m=0d; tf2.setText(“”); str.setLength(0);
} else if(e2.getSource()==b4)//MR为重新调用存储的数据
{ if(tf2.getText().trim()!=“”)//有记忆数字
{ tf1.setText(“”+m); } } else if(e2.getSource()==b5)
//MS为存储显示的数据
{ m=Double.parseDouble(tf1.getText().trim());
tf2.setText(“M”); tf1.setText(“0”); str.setLength(0); }
else if(e2.getSource()==b6)//M+为将显示的数字与已经存储的数据相加要查看新的数字单击MR
{ m=m+Double.parseDouble(tf1.getText().trim()); } else//选择的是其他的按钮
{ if(e2.getSource()==b22)//如果选择的是“0”这个数字键
{ if(tf1.getText().trim().equals(“0”))
//如果显示屏显示的为零不做操作
{ } else { tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1.getText().trim()); } } else if(e2.getSource()==b0)
//选择的是“BackSpace”按钮
{ if(!tf1.getText().trim().equals(“0”))
//如果显示屏显示的不是零
{ if(str.length()!=1) {
tf1.setText(str.delete(str.length()-1,str.length()).toString());
//可能抛出字符串越界异常
} else { tf1.setText(“0”); str.setLength(0); } }
y=Double.parseDouble(tf1.getText().trim()); } else
//其他的数字键
{ tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1.getText().trim()); } } } catch(NumberFormatException e){ tf1.setText(“数字格式异常”); } catch(StringIndexOutOfBound***ception e)
{ tf1.setText(“字符串索引越界”); } } } public static void main(String args[]) { new cc(); } }
[1][2]
别想一下造出大海,必须先由小河川开始。