假定需要开发一个程序,将给定的钱数分成较小的货币单位,这个程序要求输入一个double型的数字,表示的是美元加上美分的总钱数,该值要被输出一个清单,列出和总钱数等价的最大数量的dollar(1美元)quarter(两角五分)dime(一角)nickel(五分)penny(一分),按照这个顺序,要将硬币的数量降到最少。
那么我们怎么进行思考,首先要进行提示用户输入一个十进制的数字作为总钱数,比如11.56
接下来我们看一下题设的条件,要求将硬币数目降到最少,那么也就是硬币面值大的要先进行选择
而我们知道这里面最小的计量单位就是分,那么我们可以将用户输入的数进行乘100(一美元等于100美分)然后依次整除,这样就能得出每个硬币需要的数目
package daheishulianxiti;
import java.util.Scanner;
public class computerchange {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("输入一个double型的数,例如11.56");
double amount=input.nextDouble();
int remainingamount=(int)(amount*100);
//找出美元数量
int dollars=remainingamount/100;
remainingamount=remainingamount%100;
//找quarter数量
int quarters=rem