Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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 GUI计算问题_Java - Fatal编程技术网

Java GUI计算问题

Java GUI计算问题,java,Java,我一直在试图弄明白为什么我的JFrame代码不能显示正确的计算结果!当我在windows Calculator中添加所有数字时,它们都是正确的,但当我使用我的程序时,它们是不同的和不正确的。在我的程序中,我得到的答案是520420,而不是我在windows计算器中得到的52420,5。有人能告诉我我的程序哪里出了问题,并得到windows calculator的正确答案吗? 下面是我的计算按钮,如果选中复选框,它会将数字添加到总价中 private void calculatorBActionP

我一直在试图弄明白为什么我的JFrame代码不能显示正确的计算结果!当我在windows Calculator中添加所有数字时,它们都是正确的,但当我使用我的程序时,它们是不同的和不正确的。在我的程序中,我得到的答案是520420,而不是我在windows计算器中得到的52420,5。有人能告诉我我的程序哪里出了问题,并得到windows calculator的正确答案吗? 下面是我的计算按钮,如果选中复选框,它会将数字添加到总价中

private void calculatorBActionPerformed(java.awt.event.ActionEvent evt) {                                            
   double price = 0;

    if(shoesTK.isSelected())
    {
     price = price + 120;
    }
    if(cricketBatCK.isSelected())
    {
       price = price + 300;
    }
    if(bikeCK.isSelected())
    {
        price = price + 20000;
    }
    if(watchCK.isSelected())
    {
        price = price + 500000;
    }
    if(plasticBagCK.isSelected())
    {
        price = price + 0.50;
    }

    System.out.println(price);
    String total = Double.toString(price);
    totalTXT.setText(total);
}                                           
我的程序的总输出不正确。

windows calcultor的输出和我想要的结果

在这两种情况下,尾随的0都太多了。应分别为2000和50000


另外,在你的文本中,你说你得到了520420,但你的屏幕截图实际上显示了520420.5,因此看起来塑料袋处理正确。

,你在调试器中一步一步地检查代码了吗?@Stewart Clay当你的手表是500000时,你是如何得到52420.5的?@I_有帮助吗?我添加了一些图片来帮助解释。我投票关闭这个问题,因为这只是一个输入错误,因为OP中有额外的零。与编程无关。我投票关闭这个问题,因为这个问题将被忽略可能对未来的任何人都没有任何价值——这只是一个简单的打字错误。
if(bikeCK.isSelected())
{
    price = price + 20000;
}
if(watchCK.isSelected())
{
    price = price + 500000;
}