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

    科技2022-07-12  122

    第三章第七题(金融应用:整钱兑零)(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
    Processed: 0.010, SQL: 8