编写程序,读取用户输入的代表总金额的double值,打印表示该金额所需的最少纸币张数和硬币个数,打印从最大金额开始。纸币的种类有十元、五元、一元,硬币的种类有五角、一角、贰分、壹分。使用Java
时间: 2023-04-08 07:04:02 浏览: 43
好的,这个问题可以回答。以下是Java代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double amount = scanner.nextDouble();
int[] bills = {10, 5, 1};
int[] coins = {50, 10, 2, 1};
String[] billNames = {"十元", "五元", "一元"};
String[] coinNames = {"五角", "一角", "贰分", "壹分"};
System.out.println("需要的纸币和硬币如下:");
for (int i = 0; i < bills.length; i++) {
int count = (int) (amount / bills[i]);
if (count > 0) {
System.out.println(billNames[i] + ":" + count + "张");
amount -= count * bills[i];
}
}
for (int i = 0; i < coins.length; i++) {
int count = (int) (amount / coins[i]);
if (count > 0) {
System.out.println(coinNames[i] + ":" + count + "个");
amount -= count * coins[i] / 100.0;
}
}
}
}
输入一个代表总金额的double值,程序会输出表示该金额所需的最少纸币张数和硬币个数,打印从最大金额开始。例如,输入23.67,程序会输出:
需要的纸币和硬币如下:
十元:2张
一元:3张
五角:1个
一角:1个
贰分:1个
壹分:2个