我正在尝试编写一个输出钱的代码,该代码是这样的:

**$7.00 remains to be paid. Enter coin or note: $100.00

  You gave $100.00

Your change:

1 x $50.00

2 x $20.00

0 x $10.00

0 x $5.00

1 x $2.00

1 x $1.00

  **


但是输出应该是相同的,但是不显示0值,例如,它应该像这样:

**$7.00 remains to be paid. Enter coin or note: $100.00

  You gave $100.00

Your change:

1 x $50.00

2 x $20.00

1 x $2.00

1 x $1.00
  **


我的找零代码看起来像这样,使用if语句:

  double fiftyDollars, twentyDollars, tenDollars, fiveDollars, twoDollars, oneDollar, fiftyCents, twentyCents, tenCents, fiveCents;

        fiftyDollars = change / 50.00; //dividing change by
        change = change % 50.00; //get remainder of the change
                if(fiftyDollars > 0) {
                    System.out.println((int) fiftyDollars + " x $50.00"); //getting output as integer- casting
                }

                twentyDollars = change / 20.00;
        change = change % 20.00;
                if (twentyDollars > 0){
                    System.out.println((int) twentyDollars + " x $20.00");
                }

        tenDollars = change / 10.00;
        change = change % 10.00;
                if (tenDollars >0) {
                    System.out.println((int) tenDollars + " x $10.00");
                }

        fiveDollars = change / 5.00;
        change = change % 5.00;
                if(fiveDollars > 0) {
                    System.out.println((int) fiveDollars + " x $5.00");
                }

        twoDollars = change / 2.00;
        change = change % 2.00;
                if (twoDollars >0) {
                    System.out.println((int) twoDollars + " x $2.00");
                }

        oneDollar = change / 1.00;
        change = change % 1.00;
                if(oneDollar >0) {
                    System.out.println((int) oneDollar + " x $1.00");
                }

        fiftyCents = change / 0.5;
        change = change % 0.5;
                if (fiftyCents >0) {
                    System.out.println((int) fiftyCents + " x $0.50");
                }

        twentyCents = change / 0.2;
        change = change % 0.2;
                if(twentyCents > 0) {
                    System.out.println((int) twentyCents + " x $0.20");
                }

        tenCents = change / 0.1;
        change = change % 0.1;
                if (tenCents > 0){
                    System.out.println((int) tenCents + " x $0.10");
                }

        fiveCents = change / 0.05;
        change = change % 0.05;
                if (fiveCents > 0){
                    System.out.println((int) fiveCents + " x $0.05");
                }


谢谢你们的帮助!
谢谢

最佳答案

您正在使用双打,因此0值介于零和1之间
如果在if子句中将double转换为ints,则您的程序应该可以正常工作。

10-04 17:41