第三章第七题(金融应用:整钱兑零)(Financial application: monetary units)

第三章第七题(金融应用:整钱兑零)(Financial application: monetary units)

  • 3.7(金融应用:整钱兑零)修改程序清单2-10,使之只显示非零的币值单位,用单词的单数形式显示一个单位,例如1dollar and 1 penny(1美元和1美分);用单词的复数形式显示多于一个单位的值,例如2dollars and 3 pennies(2美元和3美分)。
    3.7(Financial application: monetary units) Modify Listing 2.10, ComputeChange.java, to display the nonzero denominations only, using singular words for single units such as 1 dollar and 1 penny, and plural words for more than one unit such as 2 dollars and 3 pennies.
  • 参考代码:
package chapter03;

import java.util.Scanner;

public class Code_07 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        // Receive the amount
        System.out.print("Enter an amount in double, for example 11.56: ");
        double amount = input.nextDouble();

        int remainingAmount = (int)(amount * 100);

        // Find the number of one dollars
        int numberOfOneDollars = remainingAmount / 100;
        remainingAmount = remainingAmount % 100;

        // Find the number of quarters in the remaining amount
        int numberOfQuarters = remainingAmount / 25;
        remainingAmount = remainingAmount % 25;

        // Find the number of dimes in the remaining amount
        int numberOfDimes = remainingAmount / 10;
        remainingAmount = remainingAmount % 10;

        // Find the number of nickels in the remaining amount
        int numberOfNickels = remainingAmount / 5;
        remainingAmount = remainingAmount % 5;

        // Find the number of pennies in the remaining amount
        int numberOfPennies = remainingAmount;


        // Display results
        System.out.println("Your amount " + amount + " consists of");

        if(numberOfOneDollars > 0)
        {
            if(numberOfOneDollars == 1)
                System.out.print(numberOfOneDollars + " dollar");
            else
                System.out.print(numberOfOneDollars + " dollars");
        }

        if(numberOfQuarters > 0)
        {
            if(numberOfQuarters == 1)
                System.out.print(" and " + numberOfQuarters + " quarter");
            else
                System.out.print(" and " + numberOfQuarters + " quarters");
        }

        if(numberOfDimes > 0)
        {
            if(numberOfDimes == 1)
                System.out.print(" and " + numberOfDimes + " dime");
            else
                System.out.print(" and " + numberOfDimes + " dimes");
        }

        if(numberOfNickels > 0)
        {
            if(numberOfNickels == 1)
                System.out.print(" and " + numberOfNickels + " dime");
            else
                System.out.print(" and " + numberOfNickels + " dimes");
        }

        if(numberOfPennies > 0)
        {
            if(numberOfPennies == 1)
                System.out.print(" and " + numberOfPennies + " penny");
            else
                System.out.print(" and " + numberOfPennies + " pennies");
        }

        input.close();
    }

}

  • 结果显示:
Enter an amount in double, for example 11.56: 11.56
Your amount 11.56 consists of
11 dollars and 2 quarters and 1 dime and 1 penny
Process finished with exit code 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值