Anzahl der Elemente in einem Stack wiedergeben

alexschmid97

Aktives Mitglied
Hey,

Ich habe eine Aufgabe in der ich eine Methode schreiben soll, die die Elemente in einem Stack zurückgibt.
Meine Klasse arbeitet mit generischen Datentypen, aber die size-Mehtode soll die Anzahl der Elemente als Integer zurückgeben. Ich habe hier schon mal einen Ansatz, aber ich weiß noch nicht genau wie ich jetzt einen Integer daraus zurückgeben kann.

Dane schonmal für eine Hilfe.

Java:
public int size() {
        // TODO Auto-generated method stub
        if (head==null){
            return 0;
        }  else {
            while(head!=null){
                Item zaeler=head;
                zaeler=zaeler.next;
            }
        }
    }
}
 
Zuletzt bearbeitet von einem Moderator:
indem du zählst? ^^
Du gehst in deiner Schleife einfach nur deinen Stack durch, in jedem durchlauf solltest du eben einen zähler um eins hochzählen. Zum Schluss kannst du dann diesen zähler zurückgeben
 
ich bin mir nicht sicher ob dass das ist was du brauchst..

Code:
public class Main {

    static Stack stack;
   
    public static void main(String[] args) {
   
        stack=new Stack();
        stack.add( new Integer(1) ); // füge einen neuen Integer mit Wert 1 hinzu (hier könnte auch irgend                                                         // ein Objekt stehen
        stack.add( new Integer(2) );
        stack.add( new Integer(3) );
   
        System.out.println("Der Stack ist "+stack.size()+" Elemente groß.");
       
        for(int i=0;i<stack.size();i++){
            System.out.println(stack.get(i));// gebe alle Elemente aus
        }
    }
 
Ich nehme mal der TE muss für die Aufgabe einen eigenen Stack implementieren und nicht den Stack der JRE nutzen.

Java:
public int size() {
  int count = 0;
  Item tmp = head;
  while(tmp != null) {
    tmp = tmp.next;
    count++;
  }
  return count;
}
 

Zurück
Oben