写在前面:初学Java,本专栏仅用于记录Java的学习过程,包括日常的pta作业和学习笔记,仅供参考。
编写程序,读取用户输入的代表总金额的double值,打印表示该金额所需的最少纸币张数和硬币个数,打印从最大金额开始。纸币的种类有十元、五元、一元,硬币的种类有五角、一角、贰分、壹分。
输入格式:
47.63
输出格式:
4 张十元
1 张五元
2 张一元
1 个五角
1 个一角
1 个贰分
1 个壹分
输入样例:
47.63
输出样例:
4 张十元
1 张五元
2 张一元
1 个五角
1 个一角
1 个贰分
1 个壹分
注意:输出样例为固定输出格式,应存在“0 个壹分”、“0 个贰分”这种情况。
本题考查顺序结构,利用了取余运算
代码如下
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
double money = sc.nextDouble();
System.out.println((int)money/10+" 张十元");
System.out.println((int)money%10/5+" 张五元");
System.out.println((int)money%10%5/1+" 张一元");
double money_float =money%10%5%1;
System.out.println((int)(money_float/0.5)+" 个五角");
System.out.println((int)(money_float%0.5/0.1)+" 个一角");
double fen=money_float%0.5%0.1;
System.out.println((int)(fen/0.02)+" 个贰分");
System.out.println((int)(fen%0.02/0.01)+" 个壹分");
}
}
·本文章写于正式学习Java第三天,内容为学校开设的第二节Java课的课后作业