你如何获得实数到美元的价值

时间:2015-09-27 21:22:29

标签: java computer-science

我在编写一个读取数字的程序的代码时遇到问题,然后使用最少量的账单打印出$ value的数量。这就是我能想到的。

    import java.util.Scanner;
import java.lang.Math;
public class Assignment3 {
public static void main(String[] args) {
     Scanner input = new Scanner(System.in);
     System.out.println("Enter amount) ");
     double amount = input.nextDouble();
     int amountInt = (int) (amount * 100);

    if(amount >= 100)
    {
            amount = amount % 100;
        }
    if(amount >= 50)
        {
            amount = amount % 50;
        }
    if(amount >= 20)
        amount= amount % 50;
        }
    if(amount >= 10) 
        amount= amount %10; 
        }
    if(amount >= 5) 
        amount= amount %5; 
        }
    if(amount >= 1) 
        amount = amount %1;
        }
    if(amount >= .25)
        amount =amount %.25;
        }
    if(amount >= .10)
        amount = amount %.10;
        }
    if(amount >= .05)
        amount = amount % .05;
        }
    if(amount >= .01) 
        amount = amount % .01;
        }

1 个答案:

答案 0 :(得分:0)

这可以这样做:

int tmp;
if(amount >= 100)
    {
        tmp = (int) amount/100
        print tmp + "$100 bills"
        amount = amount % 100
    }
if(amount >= 50)
    {
        tmp = (int) amount/50
        print tmp + "$50 bills"
        amount = amount % 50
    }

我可以在你的命名中看到这是一项任务,所以你必须自己修复语法。你还需要为较低的账单继续这样做。

这是一个解释 如果金额等于或超过一百,我们将它除以一百,并将其投入一个int。这将自动产生一百个上升到我们的数字的次数。因此对于455,(int)455/100将是4.我们打印,我们更新我们的金额。金额%100,从金额中减去100,尽可能多次(在这种情况下,4次)。

我们继续这样做,打印美元钞票并更新我们的金额。

编辑: 根据要求澄清什么是什么以及如何运作:

首先我们检查金额是否超过100,因为100是最大的美元账单。如果是的话我们这样做:
tmp = (int) amount/100
这是我们可以从金额中减去100的次数,我们保存这个值。如果amount为640,tmp现在为6。

然后我们打印出美元钞票,首先打印金额(tmp),然后打印美元钞票类型。

之后我们更新amount amount % 100尽可能多地从amount中减去100 如果我们继续使用640的示例,它将执行:
640-100=540
540-100=440
440-100=340
340-100=240
240-100=140
140-100= 40
因此,amount将只留下40个。

我们继续此流程,剩余金额用于所有剩余的美元账单大小。