输入一个金额如 999.9  中里面有多少张100的,多少张50的,多少张20的,多好张10元,多少张5元的,多少张1元的,多少张5毛的,多少张1毛的
          如果面值为50元的没有的话,也就是0张,就不要输出,如811.1 就是有8张100元的,一张10元的,1张一元的,一张1毛的。

解决方案 »

  1.   


    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);
    }
    }不知道是不是你想要的答案呵呵
      

  2.   

    public static void main(String[] args) {

    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 + "张");
    }

    }
      

  3.   


    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));
    }}
      

  4.   

    额,如果删除掉我代码中的那个"System.exit(0)"就能够列出所有结果:但是我这代码好像效率不高啊......那个99.9真够特殊的,我等了好久啊.....这电脑才有反应,不知道楼主的电脑行不行.....
    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);
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }}