Ich versuche eine Funktion zu erstellen, die Münzen zurückgibt, nachdem ein Artikel gekauft wurde. Ich bin noch nicht fertig, aber der folgende Code ist ein Versuch, die Anzahl der Quartale, Groschen, Nickels und ein paar Cent zu finden, die zurückgegeben werden sollen:Erstellen einer Funktion, die Bargeld aus Fonds in Java zurückgibt
public String getChange(VendingMachine vendingMachine, Change change) {
double dispensedQuarters = 0;
double dispensedDimes = 0;
double dispensedNickels = 0;
double dispensedPennies = 0;
double d = Double.parseDouble(vendingMachine.getFunds());
if (d % .25 == 0) {
dispensedQuarters = d/.25;
} else if (d % .25 != 0) {
double remainder = d % .25;
d = d - remainder;
dispensedQuarters = d/.25;
if (remainder % .10 == 0) {
dispensedDimes = remainder/.10;
} else if (remainder % .05 == 0) {
dispensedNickels = remainder/.05;
} else if (remainder % .01 == 0) {
dispensedPennies = remainder/.01;
} else {
dispensedDimes = dispensedNickels = dispensedPennies = 0;
}
} else if (d % .10 == 0) {
dispensedDimes = d/.10;
} else if (d % .05 == 0) {
dispensedNickels = d/.10;
}
}
Gibt es eine kompaktere Art und Weise eine Funktion zu schaffen, finden die Anzahl der Viertel, Groschen, Nickel und Pennies, die zurückgegeben werden sollen?
Sie sollten keine Gleitkommawerte verwenden, um Währungen darzustellen. Verwenden Sie Ganzzahlen, wobei jeder Betrag, der kein Vielfaches von 100 ist, der "Cent" -Teil ist. –
Danke, ich werde das notieren. – statsguyz
Was soll die Maschine zurückgeben? Die geringste Anzahl von Münzen? –