Münzen sortieren

celi

Neues Mitglied
Hallo!
Ich soll als Hausaufgabe folgende Aufgabe lösen: Ein Stapel besteht aus folgenden Münzsorten: 10, 20, 50 Cent, 1- und 2-Euro-Münzen. Erzeugen Sie einen Stapel mit 20 verschiedenen Münzen. Sortieren Sie das Geld nach Münzart und geben Sie an, wie viel jeder Stapel wert ist und wie viele Münzen auf jedem Stapel liegen.

Im Code könnt ihr sehen, was ich bisher gemacht habe.
Ich verzweifle jedoch irgendwie total an der Sache mit dem Sortieren und komme einfach nicht weiter. Ich habe mich jetzt einige Stunden lang durch das Internet, wie auch mein Buch geforstet und finde irgendwie einfach keinen Ansatz, der zu funktionieren scheint. Somit dachte ich, frage ich einfach Mal hier. Ich würde mich sehr über eine kleine Hilfe freuen! LG

Java:
public class Muenzenstapel
{
    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
    private Stack<Integer> gemischterStapel;
    private Stack<Integer> cent10, cent20, cent50, euro1, euro2;
    private int zaehler;
    
    /**
     * Konstruktor für Objekte der Klasse Muenzenstapel
     */
    public Muenzenstapel()
    {
        zaehler=0;
        gemischterStapel = new Stack<Integer>();
        cent10 = new Stack<Integer>();
        cent20 = new Stack<Integer>();
        cent50 = new Stack<Integer>();
        euro1 = new Stack<Integer>();
        euro2 = new Stack<Integer>();
        
    }

    public void muenzenStapeln (int pMuenze)
    {
        if (zaehler < 20)
        {
           gemischterStapel.push(pMuenze);
           zaehler++;
          
        }
        else
        {
            System.out.println("Stapel ist voll");
        }
    }
    
    
    public void sortieren ()
    {
      
    }
}
 

MoxxiManagarm

Top Contributor
Ich würde es mit einem Enum machen, sowas in der Art

Java:
enum Coin {
    CENT1(1),
    CENT2(2),
    CENT5(5),
    CENT10(10),
    CENT20(20),
    CENT50(50),
    EURO1(100),
    EURO2(200);
    
    private int valueInCent;
    
    private Coin(int valueInCent) {
        this.valueInCent = valueInCent;
    }
}

Die Enum values haben eine ordinale, welche du zufällig für den gemischten Stapel bedienen kannst, auch könntest du mit der ordinalen eine Stapelzuordnung machen.
 

Oneixee5

Top Contributor
Ist es notwendig, dass in deinem Beispiel die Klasse Stack verwendet wird? Stack ist eine Datenstruktur, die nach dem LIFO-Prinzip (last-in-first-out) arbeitet. Die Elemente werden am vorderen Ende der Liste eingefügt und von dort auch wieder entnommen. Das heißt, die zuletzt eingefügten Elemente werden zuerst entnommen und die zuerst eingefügten zuletzt. Eine Sortierung würde diese Prinzip durchbrechen. Somit wäre ein Stack die falsche Datenstruktur.
 

celi

Neues Mitglied
Ist es notwendig, dass in deinem Beispiel die Klasse Stack verwendet wird? Stack ist eine Datenstruktur, die nach dem LIFO-Prinzip (last-in-first-out) arbeitet. Die Elemente werden am vorderen Ende der Liste eingefügt und von dort auch wieder entnommen. Das heißt, die zuletzt eingefügten Elemente werden zuerst entnommen und die zuerst eingefügten zuletzt. Eine Sortierung würde diese Prinzip durchbrechen. Somit wäre ein Stack die falsche Datenstruktur.
Meine Lehrerin hat vorgegeben, die Klasse Stack zu benutzen. Es sind aber auch Begriffe wie switch-case-Verzweigung, push, pop, Queue und List gefallen. Ich weiß ehrlich gesagt nicht so genau, was das alles bedeutet.. Würde denn irgendwas davon mehr Sinn machen? :)
 

Neue Themen


Oben