我刚刚在我的Java课程中完成了第一次任务,我们的任务是创建一个计算镍币并显示总金额的程序。但是,每当我输入奇数个镍币时,它都不会显示相应的金额。例如,1个镍币变成$ .5而不是$ .05。 21尼克斯变成1.5美元而不是1.05美元。我很容易解决这个问题,但我发现自己很难过。谢谢你的帮助。
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int nickles;
System.out.println("Deposit your Nickles.");
nickles = in.nextInt();
int nickles5 = nickles * 5;
int dollars = nickles5 / 100;
int change = nickles5 % 100;
System.out.println("You have $" + dollars + "." + change);
}
答案 0 :(得分:0)
您需要格式化change
以使用2位数,而不是仅打印原始数字。具体来说,如果change==5
,您要打印05
。
String.format("%02d", change)
答案 1 :(得分:0)
你最后有一个随机撇号,为什么? 你想使用浮点数而不是整数,如下所示: Scanner in = new Scanner(System.in); int nickles;
System.out.println("Deposit your Nickles.");
nickles = in.nextInt();//get number
float nickles5 = nickles * 5;//input 1, get 5
float amount = nickles5/100;
System.out.println("$"+ amount);
输出:
Deposit your Nickles.
1
$0.05
Deposit your Nickles.
21
$1.05
编辑:格式化输出的代码:
Scanner in = new Scanner(System.in);
int nickles;
System.out.println("Deposit your Nickles.");
nickles = in.nextInt();//get number
float nickles5 = nickles * 5;//input 1, get 5
float amount = nickles5/100;
String output = String.format("%02f", amount);//f(loat) not d
System.out.println("$"+ output);
答案 2 :(得分:0)
我会站在这里,尝试解决你的问题。您似乎会要求用户输入一定数量的镍币,您将以美元输出金额。如果这是不正确的,请告诉我。
现在看下面的代码。
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int nickles;
System.out.println("Deposit your Nickles.");
nickles = in.nextInt();
double nickles5 = nickles * 0.05;
System.out.println("You have $" + nickles5);
}
在我们有一个int存储的镍的数量后,我们将它乘以0.05,以获得所有镍的实际值。我们将它存储在一个双变量中[注意:int乘以一个double,返回一个double;它被称为数字促销]。现在,要获得总值,您只需打印此双变量即可。在n = 2的情况下,镍5 = 0.1。因此,它将打印0.1美元
如果您希望它显示为0.10美元,只需将{5}替换为String.format( "%.2f", nickels5)
现在你的最后一行看起来像是:
System.out.println("You have $" + String.format( "%.2f", nickels5));
如果这解决了您的问题,请告诉我。