当前位置: 首页 > 知识库问答 >
问题:

计算器-setText(String)不适用于双打

谭飞掣
2023-03-14

所以我正在尝试制作一个计算器,我正在使用JFrame代码,并试图使用内置的数学来查找数字的平方根。下面的代码是我遇到问题的地方。“display.setText(Math.sqrt(Double.parseDouble(display.getText())));”

给我一个错误“JTextComponent类型中的方法setText(String)不适用于参数(双精度)”

    sqrt = new JButton("SQRT");
    sqrt.setBounds(298, 141, 65, 65);
    sqrt.setBackground(Color.BLACK);
    sqrt.setForeground(Color.BLACK);
    sqrt.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            setTempFirst(Double.parseDouble(display.getText()));
            display.setText(Math.sqrt(Double.parseDouble(display.getText())));
            operation[5] = true;

        }
    });
    add(sqrt);

共有3个答案

楚帅
2023-03-14
display.setText(Math.sqrt(Double.parseDouble(display.getText())));

应该是

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

因为您需要sqrt的字符串表示。setText()不能接受<code>双精度

鄢英哲
2023-03-14

正如您所说,这个方法需要的是字符串而不是double,因此您应该将

< code > math . sqrt(double . parse double(display . gettext()))

加倍,例如:

String.valueOfMath.sqrtDouble.parseDoubledisplay.getText ())))

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

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

<code>字符串。格式(“%.2f”,您的_NUMBER)。

陆展
2023-03-14

因为Math.sqrt返回double,所以您不能:

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

相反,您可以使用该方法返回的值,并使用< code>String.valueOf()如下所示:

display.setText(String.valueOf(Math.sqrt(....
 类似资料:
  • 刚刚在java中尝试了一些东西,发现了以下问题。 以下是我的代码。 父接口: 子接口: 实施1: 实施2: 主要方法: 我不确定我做错了什么,我在本地机器中安装了JDK 13并使用IntelliJ 2019.3和JDK 11。我检查了IntelliJ是否支持JDK 13 谢谢 错误更新我在那里留下了一个分号,删除了它,请再次检查。

  • public void onBindViewHolder(@非空票据持有人,int位置){ 我试图查看所有可以帮助我设置文本的参考资料,但找不到一个,还有其他选择吗??

  • 代码如下: 这是适配器,我在这里为列表做了自己的设计(< code>R.layout.zalistu),它在仿真器中工作,但在设备上它给我一个错误(应用程序意外停止),如果我使用< code>simple_list_item_1,那么它在仿真器和我的设备上都可以正常工作。 这里是R:layout.zalistu: 日志猫: 我设备上的Android版本是2.3.7,模拟器上的版本是4.0.4(AP

  • 我对java“I get this error”不熟悉,找不到适合getText(String)方法JTextComponent的方法。getText(int,int)不适用(实际参数列表和形式参数列表长度不同)方法JTextComponent。getText()不适用 (Alt Enter显示提示)“当我试图运行我的程序时。请帮助。我做错了什么?

  • 问题内容: 因此,我正在研究比较器问题,但无法弄清楚为什么在第一堂课中给我以下错误: 数组类型中的方法sort(T [],Comparator)不适用于参数(ArrayList,CalorieComparator) 餐厅等级: CalorieComparator类: 问题答案: An 与Java数组不同;由于您使用的是列表,因此对您无济于事。 考虑代替。

  • 我正在使用Apache CXF开发REST服务。我正在使用Spring3.1注释来连接bean。我编写了一个拦截器,它截取我的REST方法以进行监视。要做到这一点,我必须自动连接作为库添加到项目中的Monitor类@自动连线在这种情况下似乎不起作用,导致NPE。我做错什么了吗? 应用上下文: