修改程序清单 2-10,使之只显示非零的币值单位,用单词的单数形式显示一个单位,例如:1 dollar and 1penny;用单词的复数形式显示多于一个单位的值,例如:2 dollars and 3 pennies
import java.util.Scanner;
public class ComputeChange {
public static void main(String[] args) {
// Create a Scanner
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 >= 1 )
{
if(numberOfOneDollars == 1)
System.out.println(" " + numberOfOneDollars + " dollar");
else
System.out.println(" " + numberOfOneDollars + " dollars");
}
if(numberOfQuarters >= 1)
{
if(numberOfQuarters == 1)
System.out.println(" " + numberOfQuarters + " quarter ");
else
System.out.println(" " + numberOfQuarters + " quarters ");
}
if(numberOfDimes >= 1)
{
if(numberOfDimes == 1)
System.out.println(" " + numberOfDimes + " dime");
else
System.out.println(" " + numberOfDimes + " dimes");
}
if( numberOfNickels >= 1)
{
if( numberOfNickels == 1)
System.out.println(" " + numberOfNickels + " nickel");
else
System.out.println(" " + numberOfNickels + " nickels");
}
if(numberOfPennies >= 1)
{
if(numberOfPennies == 1)
System.out.println(" " + numberOfPennies + " pennie");
else
System.out.println(" " + numberOfPennies + " pennies");
}
}
}