Eigene Stack Klasse schreiben

Status
Nicht offen für weitere Antworten.
E

Eddy007

Gast
Hey ich hab mir mal vorgenommen eine eigene Stack Klasse zu schreiben.

Aber mir fehlen ein paar Anhaltspunkte wie ich beginnen könnte...
Ganz einfach würd ich gern ein paar Werte mit einer methode zu "pushen" und mit einer "pop" methode den letzten Wert
wieder anzuzeigen.

Wie fang ich da am besten an? :?
 

Verjigorm

Top Contributor
Eddy007 hat gesagt.:
Hey ich hab mir mal vorgenommen eine eigene Stack Klasse zu schreiben.
...
Wie fang ich da am besten an? :?

Code:
public class MyStack extends Stack
{
}

:D

Warum neu schreiben, wenn man überschreiben kann?
 
G

Guest

Gast
Verjigorm hat gesagt.:
Eddy007 hat gesagt.:
Hey ich hab mir mal vorgenommen eine eigene Stack Klasse zu schreiben.
...
Wie fang ich da am besten an? :?

Code:
public Class MyStack extends Stack
{
}

Gut. Aber mir gehts ja eigentlich um das Verständnis wie ich die klasse aufbaue !
 

tfa

Top Contributor
Warum die alte kaputte Stack-Klasse noch weiter verhunzen? Dann doch lieber neu schreiben.
 

Verjigorm

Top Contributor
Na das ist quasi eine (Array)Liste mit add/remove-Methoden

tfa hat gesagt.:
Warum dier alte kaputte Stack-Klasse noch weiter verhunzen? Dann doch lieber neu schreiben.

Ich kauf mir lieber neue Winterreifen, als die noch gebrauchstauglichen von letztem Winter zu nehmen?
Wers hat! :)
 
G

Gast

Gast
Willst du das ganze über ein Array machen oder über Referenzen?
 
G

Guest

Gast
Gast hat gesagt.:
Willst du das ganze über ein Array machen oder über Referenzen?

Über Referenzen ganz klar .. Hab dazu schon auch grafisch ein model erstellt aber an der umsetzung haperts noch
 
G

Gast

Gast
Wo genau haste denn Probleme?

Du brauchst ein pop() und ein push() in deiner Stackklasse.
Dann eine Instanzvariable für den Inhalt des Elements.

Und dann je nachdem, was du für sinnvoller hältst, Instanzvariablen (Referenz) für das nächste, vorherige, erste oder letzte Element im Stack.
Will dir bei diesem Part die Denkarbeit mal nicht abnehmen :)
Da bei einem Stack aber immer das zuletzt reingelegte als erstes wieder rausgenommen wird, ist die Wahl aber recht eindeutig.
 
E

Eddy007

Gast
Naja ich weiss auch nicht ^^ keine Ahnung wie ich anfangen soll ...

Ich hab eine Knoten Klasse

Code:
public class Knoten {
	private String text;
	
	private Knoten next;
	private Knoten previous;
	
	public Knoten(){
		this("-kein Text-", null);
	}
	
	public Knoten(String text, Knoten previous){
		setText(text);
		setNext(null);
		setPrevious(previous);
	}
	
	public String getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}
	
	public Knoten getNext() {
		return next;
	}

	public void setNext(Knoten next) {
		this.next = next;
	}

	public Knoten getPrevious() {
		return previous;
	}

	public void setPrevious(Knoten previous) {
		this.previous = previous;
	}

	public String toString(String text){
		this.text = text;
		return text;
	}
}

Und jetz bleib ich bei der Main Klasse stecken.. Ich muss ja ein previous objekt übergeben aber wie soll ich das von der main aus machen?
 

ARadauer

Top Contributor
zur Strktur...
die Klasse mit deiner Main Methode sollte eigentlich nur zum testen des Staks da sein...

Code:
Stack stack = new Stack();
stack.push("Bier");
stack.push("Wein");
System.out.prinln(stack.pop);
...

also das soll eigentlich nur den Stack benutzen

ich würd mir einfach noch eine Klasse Stack schreiben (oder nenn sie MyStack, Stack gibt es schon)

das ist die Schnittstelle nach aussen, die Klasse bietet die Methoden, push und pop, sie hat eine referenz auf das oberste (head) element (Knoten)

dein Knoten schaut schon ganz gut aus... braucht man next überhaupt?

also pop:
das neue head ist das previos von head und du gibst das alte head zurück

push:
das erstellst ein neues element, dessen privios das head ist und setzt es als neues head...

so ungefähr...
 

ARadauer

Top Contributor
nein, das next element brauchst du gar nicht... jedenfalls für einen stack nicht

Code:
   public String toString(String text){ 
      this.text = text; 
      return text; 
   }

die toString Methode, ist eine Methode von Objekt, sie wird aufgerufen, wenn man das Objekt zb mit System.out.println ausgibt, sie erwartet aber normalerweise keine argument, für das textzuweisen hast du eh deine setText....

also so würde zb die main aussehen...

Code:
public class TestStack {
   public static void main(String[] args) {
      Stack stack = new Stack();
      stack.push("Bier");
      stack.push("Wein");
      System.out.println(stack.pop());
      stack.push("Schnaps");
      System.out.println(stack.pop());
      System.out.println(stack.pop());
      System.out.println(stack.pop());
   }
}

Ausgabe:
Wein
Schnaps
Bier
null

der Knoten passt schon (ausser dass du next nicht brauchst..

du musst nur noch folgende zwei methoden implementieren...
Code:
public class Stack {   
   private Knoten head;   
   
   public void push(String text){
   }
   
   public String pop(){    
   }

}

ps: nicht zu kompliziert denken.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Eigene Stack Klasse Java Basics - Anfänger-Themen 26
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
T Datentypen Eigene Datentypen Java Basics - Anfänger-Themen 15
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
D Attribut Telefonnummer - eigene Klasse oder String Java Basics - Anfänger-Themen 13
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
S Eigene LinkedList Klasse Java Basics - Anfänger-Themen 4
I Eigene Java Tools Nutzung Java Basics - Anfänger-Themen 6
G eigene Bibliothek einbinden Java Basics - Anfänger-Themen 1
K Eigene Annotations, Pre-/Post-/Call-Method Java Basics - Anfänger-Themen 6
O Erste Schritte Eigene charAt(i) Methode schreiben Java Basics - Anfänger-Themen 10
D Methoden Eigene Methode um alle Ausgaben aufzurufen Java Basics - Anfänger-Themen 17
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
P Maven und eigene Jars Java Basics - Anfänger-Themen 4
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
A Eigene Methoden entwicken Java Basics - Anfänger-Themen 3
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
H GSON-Bibliothek für eigene Programme benutzen Java Basics - Anfänger-Themen 2
H Klassen auf eigene Klasse zugreifen Java Basics - Anfänger-Themen 2
N Eclipse - eigene Icons unter ClassPath Resource Java Basics - Anfänger-Themen 0
N Eigene Stream Methoden implementieren Java Basics - Anfänger-Themen 3
R eigene Graphikbedienelemente Java Basics - Anfänger-Themen 8
V Generics / eigene Liste Java Basics - Anfänger-Themen 4
T Eigene Bedingung in IF-Bedingung Java Basics - Anfänger-Themen 22
P Java 8 & Eigene Applets Java Basics - Anfänger-Themen 3
E Best Practice Exaktes Rechnen mit (Pseudo-)Rationalen/Realen Zahlen. Operations Zuweisung für (eigene) Klassen Java Basics - Anfänger-Themen 3
G eigene Bibliothek in Java importieren Java Basics - Anfänger-Themen 5
D Klassen Eigene Klasse für ArrayList Java Basics - Anfänger-Themen 6
M Wann eigene implementierte HashCode Methode zwingend erforderlich? Java Basics - Anfänger-Themen 1
B Klassen Eigene "non static" Klasse in Main verwenden! Java Basics - Anfänger-Themen 12
P Vererbung Eigene HashMap Variante Java Basics - Anfänger-Themen 2
J Eigene Klasse für die Variablen? Java Basics - Anfänger-Themen 3
P Eigene Knöpfe mit eigenem Listener Java Basics - Anfänger-Themen 5
S Wann existiert eine Instanz (eigene Klasse) Java Basics - Anfänger-Themen 8
T Muss ein Parametertest immer eine eigene Testklasse sein? Java Basics - Anfänger-Themen 3
B Multithreading und eigene Queue entwickeln Java Basics - Anfänger-Themen 3
O GUI: Eigene Fenster "Form"? Java Basics - Anfänger-Themen 13
F Eigene LinkedList - toString Java Basics - Anfänger-Themen 10
O Denkanstöße für eigene Konfigurations-Datei Java Basics - Anfänger-Themen 12
SexyPenny90 Wieso ist diese eigene Equals-Methode schlecht? Java Basics - Anfänger-Themen 17
C eigene Exception Java Basics - Anfänger-Themen 4
M externe JARs in die eigene JAR einbinden Java Basics - Anfänger-Themen 9
V Klassen import - einfaches Umleiten auf eigene Klassen? Java Basics - Anfänger-Themen 8
S Eigene Exception Klasse - fehlender Konstruktor mit String Java Basics - Anfänger-Themen 3
B eigene klasse in listen eintragen Java Basics - Anfänger-Themen 6
A Objekte in eigene Klasse auslagern Java Basics - Anfänger-Themen 2
S [JavaFX 2.1] - Eigene Sprachauswahl? Java Basics - Anfänger-Themen 4
K Klassen Eigene Exception verwenden Java Basics - Anfänger-Themen 9
J eigene packages bzw klassen verwenden Java Basics - Anfänger-Themen 25
E Eigene Stackklasse Java Basics - Anfänger-Themen 7
B Eigene Exceptions entwerfen Java Basics - Anfänger-Themen 3
S Eigene Exception Schreiben und Welche Auslösen wie ? Java Basics - Anfänger-Themen 7
P eigene kleine Datenverwaltung Java Basics - Anfänger-Themen 5
N Eigene Methoden-> Werte übergeben Java Basics - Anfänger-Themen 5
U Klassen Eigene Klassen importieren Java Basics - Anfänger-Themen 13
Kenan89 ActionListener in eigene Klasse Java Basics - Anfänger-Themen 8
E Object in eigene Klasse umwandeln? Java Basics - Anfänger-Themen 7
S Eigene Klassen addieren Java Basics - Anfänger-Themen 3
B OOP Eigene Objekte in Arrays zusammenfassen Java Basics - Anfänger-Themen 3
E Eigene class datum Java Basics - Anfänger-Themen 2
G Eigene MessageBox kreieren Java Basics - Anfänger-Themen 9
I Erste Schritte Eigene Fehlermeldungen bei Exceptions Java Basics - Anfänger-Themen 19
F Klassen Eigene Klasse definieren Java Basics - Anfänger-Themen 4
S Eigene KeyEvent-Mask erstellen Java Basics - Anfänger-Themen 4
X Eigene Libary Java Basics - Anfänger-Themen 2
Crashbreaker Eigene Java-Programm ohne hilfe des CMD starten Java Basics - Anfänger-Themen 11
A Klassen Eigene Datenklasse - Strings mit fixer Länge Java Basics - Anfänger-Themen 2
T eigene Exception Klasse Java Basics - Anfänger-Themen 12
G Shape um eigene Achse drehen Java Basics - Anfänger-Themen 2
P Vererbung Basisklasse soll eigene Methode benutzen Java Basics - Anfänger-Themen 38
F Eigene Klasse für die Keys von HashMap Java Basics - Anfänger-Themen 5
J Eigene kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
G Eigene Klasse als Array, zugriff? Java Basics - Anfänger-Themen 2
xehpuk Ordner "Eigene Bilder" ansteuern Java Basics - Anfänger-Themen 3
V Sonderzeichen als eigene "Operatoren" im JTextField Java Basics - Anfänger-Themen 4
D Eigene equals methode schreiben Java Basics - Anfänger-Themen 4
dataframe OOP Eigene typisierte Liste Java Basics - Anfänger-Themen 3
W GUI als eigene Klasse oder in die Startklasse? Java Basics - Anfänger-Themen 21
T Konstruktor für eigene Klasse erstellen Java Basics - Anfänger-Themen 6
H Buttonbefehle in eigene Klasse schreiben Java Basics - Anfänger-Themen 8
M Datentypen Eigene iterierbare Liste Java Basics - Anfänger-Themen 4
G Eigene Klasse für externe Befehle - Warten auf Prozesse Java Basics - Anfänger-Themen 6
S Klassendiagramm - nur eigene Klassen? Java Basics - Anfänger-Themen 3
nrg Eigene simple List-Klasse programmieren Java Basics - Anfänger-Themen 3
C Eigene Interpreter-Programmiersprache mit Java Java Basics - Anfänger-Themen 17
B eigene Exception.... Java Basics - Anfänger-Themen 5
N Java Programm soll Datei in eigene jar schreiben Java Basics - Anfänger-Themen 13
F Eigene Exception StackTrace und Message ist leer warum??? Java Basics - Anfänger-Themen 3
M Eigene Pakete in Eclipse erstellen Java Basics - Anfänger-Themen 5
M Eigene Hash Funktion Java Basics - Anfänger-Themen 5
O Eigene Exceptions Java Basics - Anfänger-Themen 11
H eigene Schriftarten registrieren Java Basics - Anfänger-Themen 5
Kasoki Eigene Funktionen / Commands Java Basics - Anfänger-Themen 14
M Eigene LinkedList und Nodes Java Basics - Anfänger-Themen 20
S eigene Methoden in JDialog Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben