Java 有什么解决办法吗?值不是';累加

Java 有什么解决办法吗?值不是';累加,java,Java,所以我试着做一个变化计算器,但它总是只打印出1/4,其余的是0。我真的不知道如何修复它,我改变了一些事情,但最终结果是一样的。有什么解决办法吗 Scanner e = new Scanner(System.in); double c = 0; double quarter = 0; double dime = 0; double nickel = 0; double penny = 0; System.out.println("How much

所以我试着做一个变化计算器,但它总是只打印出1/4,其余的是0。我真的不知道如何修复它,我改变了一些事情,但最终结果是一样的。有什么解决办法吗

Scanner e = new Scanner(System.in);
    double c = 0;
    double quarter = 0;
    double dime = 0;
    double nickel = 0;
    double penny = 0;

    System.out.println("How much change?");
    c = e.nextDouble();

    while(c > 0.50) {
        quarter =+ 1;
        c =- .50;
    }
    while( c > 0.10) {
        dime =+ 1;
        c =- .10;
    }
    while(c > 0.05) {
        nickel =+ 1;
        c =- .5;
    }
    while(c > 0.01) {
        penny =+ 1;
        c =- 0.01;
    }

    System.out.println("You need " + quarter + " quarters");
    System.out.println("You need " + dime + " dimes");
    System.out.println("You need " + nickel + " nickels");
    System.out.println("You need " + penny + " pennies");
所以它打印出来的是1个四分之一,0个一角,0个五分之一,0个便士
是否有任何修复,使其能够实际工作?编辑:我试过c=c-.5它确实添加了,但信息是假的

quarter =+ 1;
quarter += 1;
还有=-

最后,代码将如下所示:

while(c > 0.50) {
    quarter += 1;
    c -= .50;
}
while( c > 0.10) {
    dime += 1;
    c -= .10;
}
while(c > 0.05) {
    nickel += 1;
    c -= .5;
}
while(c > 0.01) {
    penny += 1;
    c -= 0.01;
}

另外,四分之一是25美分,而不是50美分。你的操作员错了


=+=-更改为+=-=

对于季度,也将0.50更改为0.25:)季度为25美分,而不是50@Zymus哦,我糟糕的lol,我没有注意到,其他答案都很有效,谢谢。@INeedHelp它可能看起来是固定的,但事实上你的代码仍然是坏的。Google“浮点数学坏了吗?”@INeedHelp您是否也将=-改为-=了?