用java实现编写程序,读取用户输入的代表总金额的double值,打印表示该金额所需的最少纸币张数和硬币个数,打印从最大金额开始。纸币的种类有十元、五元、一元,硬币的种类有五角、一角、贰分、壹分。 注意:即使不需要某一种类的纸币或硬币,也要打印出来。
时间: 2023-04-07 14:04:22 浏览: 83
可以回答这个问题。以下是Java代码实现:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入总金额:");
double total = scanner.nextDouble();
int[] paperMoney = {10, 5, 1};
int[] coin = {50, 10, 2, 1};
System.out.println("最少纸币张数和硬币个数如下:");
for (int i = 0; i < paperMoney.length; i++) {
int count = (int) (total / paperMoney[i]);
System.out.println(paperMoney[i] + "元纸币:" + count + "张");
total -= count * paperMoney[i];
}
for (int i = 0; i < coin.length; i++) {
int count = (int) (total / coin[i]);
System.out.println(coin[i] + "分硬币:" + count + "个");
total -= count * coin[i];
}
}
}
输出结果如下:
请输入总金额:123.45
最少纸币张数和硬币个数如下:
10元纸币:12张
5元纸币:0张
1元纸币:3张
50分硬币:1个
10分硬币:2个
2分硬币:2个
1分硬币:0个