こんにちは私は学校の課題の変更計算機を作成しているときに問題が発生しています。それは本質的に、特定の金額に必要な最小の変更額を計算することです。
- 元。5.36ドル:
- 2ドル(2 $)
- 1ルーニー(1 $)
- 1四半期
- 1ダイム
- 0ニッケル
- 1ペニー
値と合計を一緒に計算できるように、すべての変数をdoubleであると述べました。整数(5.00、6.00、7.00)では問題なく動作するようですが、小数点以下を追加すると混乱します。私が5.25ドルと言うときのように、2ドル硬貨1ルーニーと1クォーターと言うべきです。丸め誤差か、計算に問題がある可能性があると思います。どんな助けでも大歓迎です。コードの計算は次のとおりです。
//Rounding to one number
DecimalFormat oneDigit = new DecimalFormat ("#,0");
//Ask user for input
String moneyinput = JOptionPane.showInputDialog ("Welcome to the Change Caluculator. "
+ "Please Enter your amount of money in Dollars ($): ");
//Take user input and create into string.
totmoney = Double.parseDouble (moneyinput);
//Calculate number of toonies
numtoonies = (totmoney/toonieval);
System.out.println ("There is a total of " + oneDigit.format (numtoonies) + " toonies.");
//Find new amount
totmoney = (totmoney%toonieval);
//Calculate the number of loonies
numloonies = (totmoney/loonieval);
//Find new amount
totmoney = (totmoney-numloonies);
System.out.println ("There is a total of " + oneDigit.format (numloonies) + " loonies.");
//Calculate number of quarters
numquarters = (totmoney/quarterval);
//State the about of Coins
System.out.println ("There is a total of " + oneDigit.format (numquarters) + " quarters.");
}