Ich versuche die Anzahl der Nickels in meinem Programm zu runden (es gibt keine Pennies mehr). Wenn ich also 1.44 eingib, sollte es auf 1.40 runden, und wenn ich 1.46 hatte, sollte es auf 1.50 runden. Bitte helfen Sie!Programm, um die Änderung zu bekommen (Rundungshilfe)
import java.util.Scanner;
public class MakingChange
{
private static Scanner scanner;
public static void main(String[] args)
{
scanner = new Scanner(System.in);
double amount = 0;
while (true) {
try {
amount = Double.parseDouble(scanner.nextLine());
break; // will only get to here if input was a double
} catch (NumberFormatException ignore) {
System.out.println("INVALID\r\n$");
}
}
//calculating amount of change in cents
int remainingAmount = (int)(amount * 100.00);
//toonies
int numberofToonies = (int) (remainingAmount/200.00);
remainingAmount = remainingAmount % 200;
//loonies
int numberofLoonies = (int) (remainingAmount/100.00);
remainingAmount = remainingAmount % 100;
//quarters
int numberofQuarters = (int)(remainingAmount/25.00);
remainingAmount = remainingAmount % 25;
//dimes
int numberofDimes = (int)(remainingAmount/10.00);
remainingAmount = remainingAmount % 10;
//nickels
int numberofNickels = (int)(remainingAmount/5.00);
remainingAmount = remainingAmount % 5;
//rounded value
numberofNickels=(int) (((amount -(numberofToonies * 2) - (numberofLoonies *1) - (numberofQuarters *0.25) - (numberofDimes * 0.10) - (numberofNickels * 0.05))+0.04)/0.05);
System.out.println(".*toonies:" + numberofToonies + ";" + " loonies:" + numberofLoonies + ";" + " quarters:" + numberofQuarters + ";" + " dimes:" + numberofDimes + ";" + " nickels:" + numberofNickels +"$");
}
}
So genau, wie dieser Code nicht zu fragen? –
* Sie können es US-Stil tun, wenn Sie 1,44 haben, dann erhalten Sie 1 und die Tipps Jar bekommt .44: p * Vielleicht suchen Sie nach ['Math.round'] (https://docs.oracle.com /javase/8/docs/api/java/lang/Math.html#round-double-). Beachten Sie auch, dass Sie double nicht für monetäre Zwecke verwenden sollten (verwenden Sie zum Beispiel 'BigDecimal') –
Nun, anstatt mir zwei Nickels zu geben, gibt es nur einen ... die Rundung ist aus. Auch wenn ich zwei Nickel bekomme, möchte ich, dass es 1 Groschen und nicht zwei Nickel zeigt –