Lösung zu Arbeitsauftrag 2:

Beim ersten Lösungsvorschlag wird jeweils ein Geldschein pro Wiederholungsdurchlauf "ausgegeben".

  public void GeldAusgeben (int betrag)
  {
    while (betrag >= 50)
    {
      System.out.println("50 Euro-Schein");
      anzahl50 = anzahl50 - 1;
      betrag = betrag - 50;
    }

    while (betrag >= 20)
    {
      System.out.println("20 Euro-Schein");
      anzahl20 = anzahl20 - 1;
      betrag = betrag - 20;
    }

    if (betrag == 10)
    {
      System.out.println("10 Euro-Schein");
      anzahl10 = anzahl10 - 1;
    }
  }


Beim diesem Lösungsvorschlag wird zuerst die Anzahl der notwendigen Geldscheine bestimmt.
Erst am Schluss werden dann die Geldscheine gemäß den berechneten Anzahlen ausgegeben.

  public void GeldAusgeben1 (int betrag)
  {
    int notwendig50 = 0;
    int notwendig20 = 0;
    int notwendig10 = 0;

    while (betrag >= 50)
    {
      notwendig50 = notwendig50 + 1;
      anzahl50 = anzahl50 - 1;
      betrag = betrag - 50;
    }

    while (betrag >= 20)
    {
      notwendig20 = notwendig20 + 1;
      anzahl20 = anzahl20 - 1;
      betrag = betrag - 20;
    }
    
    if
(betrag == 10)
    {
      notwendig10 = notwendig10 + 1;
      anzahl10 = anzahl10 - 1;
    }

    // Ausgabe
    System.out.println("Ausgabe: " + notwendig50 + " 50 Euro-Scheine, "
                                   + notwendig20 + " 20 Euro-Scheine, "
                                   + notwendig10 + " 10 Euro-Scheine.");
  }

 

Zurück zur Aufgabenstellung