当前位置: 代码迷 >> 综合 >> 第三章第七题(金融应用:整钱兑零)(Financial application: monetary units)
  详细解决方案

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

热度:20   发布时间:2024-02-25 16:59:46.0

第三章第七题(金融应用:整钱兑零)(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 amountSystem.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 dollarsint numberOfOneDollars = remainingAmount / 100;remainingAmount = remainingAmount % 100;// Find the number of quarters in the remaining amountint numberOfQuarters = remainingAmount / 25;remainingAmount = remainingAmount % 25;// Find the number of dimes in the remaining amountint numberOfDimes = remainingAmount / 10;remainingAmount = remainingAmount % 10;// Find the number of nickels in the remaining amountint numberOfNickels = remainingAmount / 5;remainingAmount = remainingAmount % 5;// Find the number of pennies in the remaining amountint numberOfPennies = remainingAmount;// Display resultsSystem.out.println("Your amount " + amount + " consists of");if(numberOfOneDollars > 0){
    if(numberOfOneDollars == 1)System.out.print(numberOfOneDollars + " dollar");elseSystem.out.print(numberOfOneDollars + " dollars");}if(numberOfQuarters > 0){
    if(numberOfQuarters == 1)System.out.print(" and " + numberOfQuarters + " quarter");elseSystem.out.print(" and " + numberOfQuarters + " quarters");}if(numberOfDimes > 0){
    if(numberOfDimes == 1)System.out.print(" and " + numberOfDimes + " dime");elseSystem.out.print(" and " + numberOfDimes + " dimes");}if(numberOfNickels > 0){
    if(numberOfNickels == 1)System.out.print(" and " + numberOfNickels + " dime");elseSystem.out.print(" and " + numberOfNickels + " dimes");}if(numberOfPennies > 0){
    if(numberOfPennies == 1)System.out.print(" and " + numberOfPennies + " penny");elseSystem.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
  相关解决方案