Hallo,
hab hier ein Programm das ich nicht selbst geschrieben habe und würde gerne wissen wie das funktioniert
hier mal das Programm:
Eigentlich ist es ja ganz einfach es soll eine Eingabe erfolgen über das Terminal und das Programm gibt dann aus wie viele Muenzen die Eingabe ergeben.
Doch leider verstehe ich nicht so ganz wie das gehen soll!!!
Wenn wir doch den Datentyp double in int umwandeln gehen die Kammerzahlen verloren wieso ist also so etwas möglich? (das es doch geht
)
und was soll das ganze hier
dollar = dollar - buck;
dollar = dollar*100
dollar = math.round(dollar);
dollar = dollar/100
Danke schon mal!
LG
hab hier ein Programm das ich nicht selbst geschrieben habe und würde gerne wissen wie das funktioniert
hier mal das Programm:
Code:
public class muenzen {
public static void main(String[] args) {
double dollar = Double.parseDouble(args[0]);
int buck;
int half;
int quarter;
int dime;
int nickel;
int penny;
buck = (int) (dollar/1.00);
dollar = dollar-buck;
dollar = dollar*100;
dollar = Math.round(dollar);
dollar = dollar/100;
half = (int) (dollar/0.50);
dollar = dollar-half*0.50;
dollar = dollar*100;
dollar = Math.round(dollar);
dollar = dollar/100;
quarter = (int) (dollar/0.25);
dollar = dollar-quarter*0.25;
dollar = dollar*100;
dollar = Math.round(dollar);
dollar = dollar/100;
dime = (int) (dollar/0.10);
dollar = dollar-dime*0.10;
dollar = dollar*100;
dollar = Math.round(dollar);
dollar = dollar/100;
nickel = (int) (dollar/0.05);
dollar = dollar-nickel*0.05;
dollar = dollar*100;
dollar = Math.round(dollar);
dollar = dollar/100;
penny = (int) (dollar/0.01);
System.out.println(buck + " x 1 Dollar");
System.out.println(half + " x 50 Cent");
System.out.println(quarter + " x 25 Cent");
System.out.println(dime + " x 10 Cent");
System.out.println(nickel + " x 5 Cent");
System.out.println(penny + " x 1 Cent");
}
}
Eigentlich ist es ja ganz einfach es soll eine Eingabe erfolgen über das Terminal und das Programm gibt dann aus wie viele Muenzen die Eingabe ergeben.
Doch leider verstehe ich nicht so ganz wie das gehen soll!!!
Code:
buck = (int) (dollar/1.00);
dollar = dollar-buck;
dollar = dollar*100;
dollar = Math.round(dollar);
dollar = dollar/100;
Wenn wir doch den Datentyp double in int umwandeln gehen die Kammerzahlen verloren wieso ist also so etwas möglich? (das es doch geht
und was soll das ganze hier
dollar = dollar - buck;
dollar = dollar*100
dollar = math.round(dollar);
dollar = dollar/100
Danke schon mal!
LG