Konvertierung?

Folgendes Programm läuft wie unten angegeben problemlos und gibt korrekt den Modulowert aus. Ersetze ich jedoch in der vorletzten Zeile (die Errechnung des Modulowertes) den Wert 100 durch dollar, dann funktioniert es nicht mehr.
Bsp.: Gebe ich 205 ein, dann gibt er mit 100 für die Errechnung des Modulowertes korrekt „Das ergibt 2 Dollar und 5 Cent“ aus. Nehm’ ich aber anstelle der 100 den wert dollar, dann gibt er aus:
„Das ergibt 2 Dollar und 1 Cent“.
Kann mir jemand verständlich erklären, was da im Hintergrund abläuft? Denn alle Variablen wurden als int deklariert. :confused:
Habt Dank im Voraus.


class CentToDollar
{
 public static void main(String[] args)  throws IOException
 {
  BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
  
   String inputData;
   int cent, dollar, rest;

  
  System.out.println("Geben Sie die Cents ein: ");
  inputData = stdin.readLine();
  cent = Integer.parseInt(inputData);

  dollar = cent/100;

  rest = cent % 100;
  System.out.println("Das ergibt" + dollar + " Dollar und " + rest + " Cent ");

 }

Ein dollar sind 100 cent. Wenn man dort statt der 100 “dollar” einsetzt, steht da in diesem Fall
rest = cent % 2;
und bei 205 hat man 101 mal 2 cent, und 1 bleibt übrig. Mit
rest = cent % (dollar * 100);
würde es wohl gehen. Aber… ist ja eigentlich nicht notwendig!?

das ist einfach.
bei 100 rechnet er
dollar = 205/100 => 2
cent = 205%100 => 5

bei Dollar rechnet er aber
dollar = 205/100 =>2
cent = 205%dollar =205%2 => 1

Hallo Eagle.
Vielen Dank.