Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在新值之前清除科学按钮_Java_Javafx_Calculator - Fatal编程技术网

Java 在新值之前清除科学按钮

Java 在新值之前清除科学按钮,java,javafx,calculator,Java,Javafx,Calculator,这可能与我的另一个问题重复: 我用Javafx/Java制作了一个科学计算器,但是“科学”按钮,如tan、cos或平方根,在清除时有问题。加法、减法、乘法和除法按钮工作正常 假设我做了2+2,然后按下=得到了4。如果我按下另一个数字,它会首先清除,不仅仅是像这样加上数字:45,而是像这样:5。如果我按下+/-///按钮,它当然也会清除文本区域,以便用户可以输入另一个数字 假设我做了16次,然后按平方根得到4次。如果我按下另一个数字,它会像这样加在原来的数字上:323不是这样:3这也是所有其他科学

这可能与我的另一个问题重复:

我用Javafx/Java制作了一个科学计算器,但是“科学”按钮,如tan、cos或平方根,在清除时有问题。加法、减法、乘法和除法按钮工作正常

假设我做了2+2,然后按下=得到了4。如果我按下另一个数字,它会首先清除,不仅仅是像这样加上数字:45,而是像这样:5。如果我按下+/-///按钮,它当然也会清除文本区域,以便用户可以输入另一个数字

假设我做了16次,然后按平方根得到4次。如果我按下另一个数字,它会像这样加在原来的数字上:323不是这样:3这也是所有其他科学按钮的问题

我确实触发了同样的事情,让scientific/+,-,等在答案后面出现新值之前清除,所以我不知道这里的问题

else if(event.getSource()==cos)
{
data=Float.parseFloat(display.getText());
双ans=Math.cos(Math.toRadians(数据));
display.setText(String.valueOf(ans));
dot.setDisable(假);
如果(event.getSource()!=divide&&event.getSource()!=add&&event.getSource()!=multi&&event.getSource()!=减&&event.getSource()!=pow&&event.getSource()!=mod)
{
开始=真;
} 
}
以下是“开始”代码:

private boolean start=false;
如果(启动)
{
data=Double.parseDouble(display.getText());
开始=错误;
}
我是如何使用+,-等按钮的:

else if(event.getSource()==equals)
{
Double secondOperand=Double.parseDouble(display.getText());
dot.setDisable(假);
开关(操作)
{
案例1://添加
双ans=数据+第二个操作数;
display.setText(String.valueOf(ans));
打破
案例2://减法
ans=数据-第二个操作数;
display.setText(String.valueOf(ans));
打破
案例3://乘法
ans=数据*第二个操作数;
display.setText(String.valueOf(ans));
打破
案例4://分部
ans=0d;
试一试{
ans=数据/第二个操作数;
}catch(异常ex){display.setText(“错误”);}
display.setText(String.valueOf(ans));
打破
案例5:
ans=数据%SecondOperator;
display.setText(String.valueOf(ans));
打破
案例6:
ans=Math.pow(数据,第二个操作数);
display.setText(String.valueOf(ans));
打破
}
运算=-1;
如果(event.getSource()!=divide&&event.getSource()!=add&&event.getSource()!=multi&&event.getSource()!=减&&event.getSource()!=pow&&event.getSource()!=mod)
{
开始=真;
}
}
我想如果我得到16,然后按平方根得到4。如果我按下另一个数字,它将首先清除,然后显示输入的新值


因此,我想知道是否有其他方法可以清除科学按钮。

实际上,我缺少的是这行代码:

display.setText(“”);

如果我把它放在“start”方法中,问题就会解决。

“寻求调试帮助的问题(“为什么这段代码不工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题说明的问题对其他读者没有用处。请参阅:“@c0以查看我的编辑。