zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java //PP2.11 编写一个程序,提示输入一个代表总钱数的双精度值,然后确定每种纸币和硬币需要的最少数量以达到输入的总钱数(假设10美元纸币为所需要的最大面额)。例如,如果输入的值为47.63

JAVA输入程序 一个 10 需要 编写 最大
2023-09-11 14:22:41 时间

Java程序设计教程(第七版) John Lewis & William Loftus 电子工业出版社

 

PP2.11 编写一个程序,提示输入一个代表总钱数的双精度值,然后确定每种纸币和硬币需要的最少数量以达到输入的总钱数(假设10美元纸币为所需要的最大面额)。例如,如果输入的值为47.63(47美元63美分),那么程序应当输出如下结果:

4 ten dollar bills

1 five dollar bills

2 one dollar bills

2 quarters

1 dimes

0 nickles

3 pennies

//解释:
ten dollar 10美元,five dollar 5美元,one dollar 1美元
quarters 25美分,dimes 10美分,nickles 5美分,pennies 1美分
计算公式:1美元=100美分

 

注意:在不同的IDE环境下,有部分代码可能需要变更。Java代码中的package和class名称自行设置,本文中采用Test。
IDE工具:IntelliJ IDEA

 
代码块:

package Test;

import java.util.Scanner;

public class Test {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        double totalDollars;
        int dollar10, dollar5, dollar1, quarters, dimes, nickles, pennies, fraction;
        System.out.print("Enter the amount of money($): ");
        totalDollars = input.nextDouble();
        dollar10 = (int)totalDollars / 10;
        dollar5 = (int)totalDollars %10 / 5;
        dollar1 = (int)totalDollars %10 % 5;
        fraction = (int)((totalDollars - (int)totalDollars) * 100);
        quarters = fraction / 25;
        dimes = fraction % 25 / 10;
        nickles = fraction % 25 % 10 / 5;
        pennies = fraction % 25 % 10 % 5;
        System.out.println(dollar10 + " ten dollar bills");
        System.out.println(dollar5 + " five dollar bills");
        System.out.println(dollar1 + " one dollar bills");
        System.out.println(quarters + " quarters");
        System.out.println(dimes + " dimes");
        System.out.println(nickles + " nickles");
        System.out.println(pennies + " pennies");
    }
}