Java 计算器-setText(字符串)不';我不能和替身一起工作
所以我试着做一个计算器,我用JFrame代码,试着用内置的数学来求一个数字的平方根。下面的代码是我遇到问题的地方。“display.setText(Math.sqrt(Double.parseDouble(display.getText()));” 给出错误“类型JTextComponent中的方法setText(String)不适用于参数(double)”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
由于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());