java计算器源代码算法解读
public Jsqzj()
{
v2.addElement(new String("init"));
v.addElement(new String("init"));
}
public void actionPerformed(ActionEvent e)
{
String str=tf.getText();
if(e.getActionCommand()=="+") //加号的实现;
{
if(
("+").equals((String)v2.lastElement()) ||
("-").equals((String)v2.lastElement()) ||
("x").equals((String)v2.lastElement()) ||
("/").equals((String)v2.lastElement()) ||
("=").equals((String)v2.lastElement())
)
{
tf.setText(String.valueOf(sum));
}
else if(("init").equals((String)v2.lastElement()))
{
tf.setText(String.valueOf(sum));
v2.addElement(new String("="));
}
else
{
double d=Double.parseDouble(str);
if (("+").equals((String)v.lastElement()))
{
sum=sum+d;
tf.setText(String.valueOf(sum));
}
else if (("-").equals((String)v.lastElement()))
{
sum=sum-d;
tf.setText(String.valueOf(sum));
}
else if(("x").equals((String)v.lastElement()))
{
sum=sum*d;
tf.setText(String.valueOf(sum));
}
else if(("/").equals((String)v.lastElement()))
{
sum=sum/d;
tf.setText(String.valueOf(sum));
}
else if(("=").equals((String)v.lastElement()))
{
sum=sum+d;
tf.setText(String.valueOf(sum));
}
else
{
sum=sum+d;
tf.setText(String.valueOf(sum));
}
}
v.addElement(new String("+"));
v2.addElement(new String("+"));
}
求这段代码的详解