输入一个金额如 999.9 中里面有多少张100的,多少张50的,多少张20的,多好张10元,多少张5元的,多少张1元的,多少张5毛的,多少张1毛的
如果面值为50元的没有的话,也就是0张,就不要输出,如811.1 就是有8张100元的,一张10元的,1张一元的,一张1毛的。
如果面值为50元的没有的话,也就是0张,就不要输出,如811.1 就是有8张100元的,一张10元的,1张一元的,一张1毛的。
解决方案 »
- java输入的问题
- 【求助】关于java输入语句异常的处理
- 一个 createStatement 的报错信息?
- System.out.print("哈喽world!")的详解
- 问个数学问题,好像跟概率有关
- jFileChooser如何设置fileFilter, 及得到选择的文件的"指针"?
- 怎么样保存多条记录问题 谢谢 (给讲将思路有相关的代码更好) 晕烦呀
- 请问如何将Double型小数点后只保留两位有效数字?
- 我想用JAVA的jdbc写一个班级成绩管理系统,请问哪本jdbc的书比较好?
- where I can see all of the questions instead of only hot topics!
- 请教一个问题,关于继承、多态、方法覆盖
- 求解:new ReflectTester().copy(customer)
public class Test {
public void result(float n) {
for (int i = 0; i < 8; i++) {
float n1 = n / 100;
if (i == 1 && n1 > 0) {
System.out.println((int) n1 + "张100元");
continue;
}
float n2 = (n - (int) (n / 100) * 100) / 50;
if (i == 2 && n2 > 0) { System.out.println((int) n2 + "张50元");
continue; }
float n3 = ((n - (int) (n / 100) * 100)-50)/ 10;
if (i == 3 && n3 > 0) {
System.out.println((int) n3 + "张10元");
continue;
}
float n4=(((n - (int) (n / 100) * 100)-50)-10*(int)n3);
//System.out.println("n4="+n4);
if (i == 4 && n4/5 > 0) {
System.out.println((int)n4/5 + "张5元");
continue;
}
float n5=n4-((int)(n4/5)*5);
//System.out.println("n5="+n5);
if (i == 5 && n5/1 > 0) {
System.out.println((int)n5/1 + "张1元");
continue;
}
float n6=n5-((int)(n5/1)*1);
//System.out.println("n6="+n6);
if (i == 6 && n6/0.5 > 0.5) {
System.out.println((int)(n6/0.5) + "张5毛钱");
continue;
}
float n7=(float) (n6-(int)(n6/0.5)*0.5);
//System.out.println("n7="+n7);
if (i == 7 && n7/0.1 > 0.1) {
System.out.println((int)((n7/0.1)*10) + "张1毛钱");
continue;
}
}
} public static void main(String args[]) {
Test test = new Test();
float n = (float) 888.1;
test.result(n);
}
}不知道是不是你想要的答案呵呵
double price = 101.44;
//四舍五入,保留一位小数
DecimalFormat df = new DecimalFormat(".0");
String s = df.format(price);
price = Double.parseDouble(s);
//把price分成整数部分和小数部分
int priceInt = (int) price;
double priceDouble = Double.parseDouble(df.format(price - priceInt)); System.out.println(priceInt);
System.out.println(priceDouble);
//在整数中找出100,10,1元的有多少张
while(priceInt > 0){
int count = 0;
if(priceInt >= 100){
count = priceInt / 100;
priceInt = priceInt % 100;
System.out.println("有100元的" + count + "张");
}
if(priceInt >= 10){
count = priceInt / 10;
priceInt = priceInt % 10;
System.out.println("有10元的" + count + "张");
}
if(priceInt >= 1){
System.out.println("有1元的" + priceInt + "张");
priceInt = 0;
}
}
//找出5毛的,1毛的
int coin = (int) (priceDouble * 10);
if(coin > 5){
System.out.println("有5毛的1张");
coin = coin - 5;
}
if(coin > 0){
System.out.println("有1毛的" + coin + "张");
}
}
public class Money {
public static void main(String[] args){
Scanner read = new Scanner(System.in);
double money = read.nextDouble();
money = money * 10;
System.out.println("100元的有:" + (int)(money/1000));
money = money % 1000;
System.out.println("50元的有:" + (int)(money / 500));
money = money % 500;
System.out.println("10元的有:" + (int)(money / 100));
money = money % 100;
System.out.println("1元的有:" + (int)(money / 10));
System.out.println("1毛的有:" + (int)(money % 10));
}}
import java.util.Scanner;
public class 找钱问题 {
public static void main(String[] args){
Scanner ip=new Scanner(System.in);
System.out.println("请输入金额:");
double money=ip.nextDouble();
int money100=100;//一百块的
int money50=50;
int money20=20;
int money10=10;
int money5=5;
int money2=2;
int money1=1;
double money05=0.5;//五毛的
double money01=0.1;//一毛的
for(int i=0;i<=money/money01;i++){
for(int i1=0;i<=money/money05;i1++){
for(int i2=0;i2<=money/money1;i2++){
for(int i3=0;i3<=money/money2;i3++){
for(int i4=0;i4<=money/money5;i4++){
for(int i5=0;i5<=money/money10;i5++){
for(int i6=0;i6<=money/money20;i6++){
for(int i7=0;i7<=money/money50;i7++){
for(int i8=0;i8<=money/money100;i8++){
if(i8*money100+i7*money50+i6*money20+i5*money10+i4*money5+i3*money2+i2*money1+i1*money05+i*money01==money){
System.out
.println("一百块:"+i8+"五十块:"+i7+"二十块:"+i6+"十块"+i5+"五块"+i4+"两块"+i3+"一块"+i2+"五毛"+i1+"一毛"+i);
System.exit(0);
}
}
}
}
}
}
}
}
}
}
}}