我需要帮助我正在研究的这个java项目的calucluations。作业要求我写一个程序,说明美元和数字的数量。基于用户数字输入的美分。所以,基本上,这个人输入的数字是815.该程序应输出“8美元和15美分”)。
这是我到目前为止的代码。
再次更新
public class DollarCents
{
public static void main(String args [])
{
// Declaration of variables.
int dollars;
int cents;
String inputNumberString;
int inputNumber;
int calculatedAnswer;
// Get interactive user input
inputNumberString = JOptionPane.showInputDialog("Enter Cents: ");
// Convert String to int
inputNumber = Integer.parseInt(inputNumberString);
// Calculate the number
dollars = inputNumber / 100;
cents = inputNumber % 100;
// Output the result
System.out.println ("The Cents entered equal: $"+ dollars +"."+ cents);
}
}
答案 0 :(得分:3)
提示:使用String.split()并在小数点分隔符上拆分。
之前的所有内容都可以输出为美元,之后的所有内容都可以输出为分。我会把0美元/分的情况留给OP。
注意:我假设输入为8.15
,输出应如您所述。如果您打算输入815
并将最后两位数字解释为美分,则需要使用String.length()和String.substring。
答案 1 :(得分:1)
这样的东西对你有用吗?
// Calculate the number
double amount = ((double)inputNumber) /100;
// Output the result
String output = NumberFormat.getCurrencyInstance().format(amount);
答案 2 :(得分:0)
我认为你的程序需要将101516变成“一万一千五百一十六美元”? 你需要经常使用%模数运算符!
答案 3 :(得分:0)
提示:构建文本查找表,但要注意你会遇到很多特殊情况。
E.G。
String[] TensHundreds = {
"No", "One", "Two", "Three", ...
"Eleven", "Twelve", "Thirteen", ...
/* Do we really have to list all next eighty??? */
}
答案 4 :(得分:0)
问题中包含的实际代码是错误的! (第9版)
如果输入5(5美分),输出将为:
美分进入相同:$ 0.5
用户在此过程中赢了或松了45美分!美分必须格式化:
System.out.println ("The Cents entered equal: $"+ dollars +"."+ String.format("%02d", cents));
注意:这篇文章应该是评论,但我不允许这样做