Java 是否可以在每次点击按钮时一直减去BigDecimal?

Java 是否可以在每次点击按钮时一直减去BigDecimal?,java,Java,是否可以在每次点击按钮时减去BigDecimal public class Test extends JFrame { BigDecimal amountPending; BigDecimal myMoney = new BigDecimal("0.10"); JButton decrement; public Test() { amountPending = new BigDecimal("5.5"); setTitle("Test"); setDefaultC

是否可以在每次点击按钮时减去BigDecimal

public class Test extends JFrame {

BigDecimal amountPending;
BigDecimal myMoney = new BigDecimal("0.10");

JButton decrement;

public Test() {
    amountPending = new BigDecimal("5.5");

    setTitle("Test");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    decrement = new JButton("Decrement");
    decrement.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            BigDecimal x = amountPending.subtract(myMoney);
            System.out.println(x.doubleValue());
        }
    });

    add(decrement);

    setSize(100, 50);
    setResizable(false);
    setVisible(true);
}

public static void main(String[] args) {
    new Test();


   }
}

我试图减少未决金额,但当我使用double(非BigDecimal)时,结果总是类似于1.000000000 1

问题是每次都要创建一个新变量
x

您应该更新变量
amountPending
,即:

amountPending = amountPending.subtract(myMoney);
System.out.println(amountPending.doubleValue());

哦,哇,它是这么简单,为什么我没有意识到这一点:’)感谢alotMeta回答:在某种程度上,Java真的很简单。你只需要理解这种简单性。一旦理解了简单性,大多数问题的解决方案都是“显而易见的”。但是,要想达到真正理解简单性的阶段,并且“显而易见”的解决方案是非常明显的(不仅仅是事后看来很明显),需要。。。经验和实践。