private void equalActionPerformed(java.awt.event.ActionEvent evt) {
double radian = StrictMath.toRadians(a);
if (evt.getSource()== equal)
{
if (multiply == true)
{
b = Double.parseDouble(display.getText());
display.setText(Double.toString(a*b));
}
else if (plus == true)
{
b = Double.parseDouble(display.getText());
display.setText(Double.toString(a+b));
}
else if (bsin == true)
{
b= (StrictMath.sin(radian));
display.setText(("Sin ("+a+") ="+b));
}
else if(bfact = true)
{
b = factorial(a);
display.setText(a+" ! = "+b);
}
else if (btan == true)
{
b= (StrictMath.tan(radian));
display.setText(("tan ("+a+") ="+b));
}
}
}
这是我的代码,对于计算器的一些键,但按钮不能正常工作。当我按下sin键时,它有时会计算阶乘和有时正弦,我无法理解它的逻辑!任何人都可以帮助我!
答案 0 :(得分:1)
你错过了“=”操作员,如果:
else if(bfact == true)
{
b = factorial(a);
display.setText(a+" ! = "+b);
}
必须是:
getchar()