金币分碎银

本文介绍了一个用于将美元金额转换成不同面额美元钞票的Java程序。程序接收一个整数输入,然后计算并输出该金额可以如何用20、10、5和1美元面额的纸币组合而成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[color=red][b]编写程序:[/b][/color]
要求该程序能够把57美元换成面值为:20、10、5和1美元并能显示换算结果。创建执行计算并返回显示结果的单独方法。把57作为变量传递给该方法。把程序保存为Dollars.java。
b、在Dollars.java程序中,改变存储金额数值的变量值。运行程序并确认每种面值数量的计算结果是否正确
[color=red][b]程序代码:[/b][/color]
/**
*
*/
package com.test;

import java.util.Scanner;

/**
* @author Administrator
*
*/
public class Dollars {

/**
美元转换、求所有解
*/
public static void main(String[] args) {
int money=0;
System.out.println("请输入要转换的金钱数(整数):");
Scanner sc=new Scanner(System.in);
money=sc.nextInt();
Dollars dol=new Dollars(money);
dol.transform(0);

}
private int[] result={0,0,0,0};
private int[] kind={20,10,5,1};
private int money,m;
public Dollars(int money){
this.money=money;
}
private void isRight(int total){
if(total!=money)return;
System.out.println("<---------------可爱的分割线----------------->");
for(int i=0;i<4;i++){
System.out.println(kind[i]+"元"+result[i]+"张 ");
}
}
private void com(int tmp){
m=0;
for(int i=0;i<4;i++)
m+=result[i]*kind[i];
isRight(m);
transform(tmp+1);
}
public void transform(int tmp){
if(tmp==4)return;
for(int i=0;i<=money/kind[tmp];i++){
int m=money-i*kind[tmp];
result[tmp]=i;
com(tmp);

}
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值