Java 计算器-setText(字符串)不';我不能和替身一起工作

Java 计算器-setText(字符串)不';我不能和替身一起工作,java,string,jframe,value-of,Java,String,Jframe,Value Of,所以我试着做一个计算器,我用JFrame代码,试着用内置的数学来求一个数字的平方根。下面的代码是我遇到问题的地方。“display.setText(Math.sqrt(Double.parseDouble(display.getText()));” 给出错误“类型JTextComponent中的方法setText(String)不适用于参数(double)” 由于Math.sqrt返回一个double,因此不能执行以下操作: display.setText(Math.sqrt(Double.pa

所以我试着做一个计算器,我用JFrame代码,试着用内置的数学来求一个数字的平方根。下面的代码是我遇到问题的地方。“display.setText(Math.sqrt(Double.parseDouble(display.getText()));”

给出错误“类型JTextComponent中的方法setText(String)不适用于参数(double)”


由于Math.sqrt返回一个double,因此不能执行以下操作:

display.setText(Math.sqrt(Double.parseDouble(display.getText())));
相反,您可以使用该方法返回的值并使用
String.valueOf()
如下所示:

display.setText(String.valueOf(Math.sqrt(....

正如您所说的,这个方法需要字符串而不是double,所以您应该转换

Math.sqrt(Double.parseDouble(display.getText())

加倍,例如:

String.valueOf(Math.sqrt(Double.parseDouble(display.getText())))

Math.sqrt(Double.parseDouble(display.getText())+“”

更好的方法是将此结果格式化为一些小数位,例如:

String.format(“%.2f”,您的\u编号)

应该是

display.setText(Math.sqrt(Double.parseDouble(display.getText())).toString());

因为您需要sqrt的字符串表示。StTrime[()不能使用<代码>双< />代码>

<代码>数学。
display.setText(Math.sqrt(Double.parseDouble(display.getText())));
display.setText(Math.sqrt(Double.parseDouble(display.getText())).toString());