你如何获得实数到美元价值
How do you get real number to dollar values
我在编写一个程序的代码时遇到问题,该程序读取一个数字,然后使用最少的 bills.This 打印出 $ 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;
}
可以这样做:
int tmp;
if(amount >= 100)
{
tmp = (int) amount/100
print tmp + "0 bills"
amount = amount % 100
}
if(amount >= 50)
{
tmp = (int) amount/50
print tmp + " bills"
amount = amount % 50
}
我可以从你的命名中看出这是一项作业,所以你必须自己修正语法。您还需要为较低的账单继续此操作。
这里有一个解释。
如果金额等于或超过一百,我们将其除以一百并将其转换为一个整数。这将自动导致我们的数字增加了多少次。所以对于 455,(int) 455/100 将是 4。我们打印它,并更新我们的数量。 amount % 100,从 amount 中减去 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 个。
我们使用所有剩余美元钞票尺寸的剩余金额继续此过程。
我在编写一个程序的代码时遇到问题,该程序读取一个数字,然后使用最少的 bills.This 打印出 $ 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;
}
可以这样做:
int tmp;
if(amount >= 100)
{
tmp = (int) amount/100
print tmp + "0 bills"
amount = amount % 100
}
if(amount >= 50)
{
tmp = (int) amount/50
print tmp + " bills"
amount = amount % 50
}
我可以从你的命名中看出这是一项作业,所以你必须自己修正语法。您还需要为较低的账单继续此操作。
这里有一个解释。
如果金额等于或超过一百,我们将其除以一百并将其转换为一个整数。这将自动导致我们的数字增加了多少次。所以对于 455,(int) 455/100 将是 4。我们打印它,并更新我们的数量。 amount % 100,从 amount 中减去 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 个。
我们使用所有剩余美元钞票尺寸的剩余金额继续此过程。