尝试将我的作业从整数计算为字符串然后正确生成
基本上我想要为我的家庭作业做的是提前上课,老师希望我们使用基本的扫描仪并要求用户输入,我宁愿在文本字段和文本区域中进行
所以对于我的程序,我有一个文本字段询问用户总价是多少,这是双倍的
我认为用新行将总数计算到文本区域中
出于某种原因,我将美元金额分解为他们需要多少钞票和硬币的转换方式并没有正确显示,下面有转换
public void actionPerformed(ActionEvent e) {
// This class is being made to get the formula or what needs to be done
// leaving this as tfAnswer even though its the value of dollar
sDollarTotal = tfAnswer.getText();
iDollarTotal = Double.valueOf(sDollarTotal);
// Converting Distance to integer from string
iTen = (int) (iDollarTotal / 10);
sTen = String.valueOf(iTen);
// calc the five bucks dude
iFives = (int) ((iDollarTotal - iTen * 10) / 5); //take the int use the modules operator
sFive = String.valueOf(iFives);
// take the whole number and the whole number
iOne = (int) (((iDollarTotal - iTen * 10 - iFives * 5)));
sOne = String.valueOf(iOne);
iQuarter = (int) ((iDollarTotal - iTen * 10 - iFives * 5 - iOne) / 0.25);
sQuarter = String.valueOf(iQuarter);
iDime = (int) ((iDollarTotal - iTen * 10 - iFives * 5 - iOne - iQuarter * 0.25) / .10);
sDime = String.valueOf(iDime);
iNickel = (int) ((iDollarTotal - iTen * 10 - iFives * 5 - iOne
- iQuarter * 0.25 - iDime * .10) / .05);
sNickel = String.valueOf(iNickel);
iPenny = (int) ((iDollarTotal - iTen * 10 - iFives * 5 - iOne
- iQuarter * 0.25 - iDime * .10 - iNickel * .05) / .01);
sPenny = String.valueOf(iPenny);
textArea.setText(sTen + " Ten Dollar Bill" + "\n" + sFive
+ " Five Dollar Bills" + "\n" + sOne + " One dollar bill \n"
+ sQuarter + " Quarters \n" + sDime + " Dimes \n" + sNickel
+ " Nickels \n" + sPenny + " Pennys \n");
}
现在,当用户输入一个数字 25.46 美分时,它会显示 2 个十 1 五个 0 个 1 四分之一 2 一角硬币 0 镍 1 便士
但是当用户输入 25.56 它显示
2 十 1 五 0 个 0 四分之一 0 角钱 1 镍 0 便士
这显然是不对的。我尝试使用模块运算符,但我无法弄清楚正确使用它的公式,所以我以这种方式将其分解,
谁能告诉我为什么当我使用 25.56 时它显示 0 便士。