java-forum.org - Java programmieren aus Leidenschaft

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Java - Programmierung > Allgemeine Java-Themen

Allgemeine Java-Themen Allgemeine Themen, die nicht in andere Fachforen und nicht zu den Java Basics passen

Thema geschlossen    
Themen-Optionen Thema durchsuchen Ansicht
Alt 22.05.2004, 18:24   #1 (permalink)
Maxim
Nicht angemeldet
 
Fachbeiträge: n/a
Standard Schlange als verkettete Liste

Hallo
ich beschaftige mich seit kurzem mit Datestrukturen
programmiere gerade Schlange als verkettete liste.
meine schlange ist rückwerts gekettet. ende>einfugen, kopf>rausholen oder löschen.
und beim löschen habe ich ein problem

Code:
Code
****************************************
public class Schlange {
public Knoten kopf;
public Knoten ende;
public Knoten vorgänger;
public Knoten nachfolger;
public int counter;
**********************
public Schlange() {
     kopf=new Knoten();// Pseudeknoten
     ende=new Knoten();
     vorgänger = kopf;
     kopf.nachfolger=ende;
     ende.vorgänger=kopf;
     counter=0;
****************************
public void LöschenKnoten (/*Knoten delKnoten*/){
    if(counter==0)
      throw new ArithmeticException("Keinen Knoten vorhanden");
      else{
        Knoten delKnote=kopf.nachfolger;
        kopf.nachfolger=delKnoten.nachfolger;// Verbindung zum übernächsten knoten wird erstellt
        delKnoten.nachfolger=null;// Verbindung zu nachfolger wird gelöscht
        delKnoten.ElementLöschen();
        counter--;
      }

*************************************
test
   System.out.println("Knoten löschen");
    schlange1.LöschenKnoten();
   // schlange1.LöschenKnoten(neuerknote1);
````````````````````````````````````````
Mein problem ist das ich Löschen Methode mit einem Parameter gemacht habe,es ist aber ganz normale Verkettete liste,dabei kann ich belibigen knoten löschen, ich darf aber beim Shlange nur den letzten Knoten löschen
Also habe ich parametr auskommentirt und dann kommt folgendes Fehler
"Schlange.java": Symbol kann nicht aufgelöst werden: Variable delKnoten in Klasse praktikum_teil1.Schlange in Zeile 60, Spalte 25

das ist diese zeile
kopf.nachfolger=delKnoten.nachfolger;// Verbindung zum übernächsten knoten wird erstellt

könnt mir vielleicht jemand helfen?

Maxim
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 22.05.2004, 18:36   #2 (permalink)
Premium-Benutzer
 
Benutzerbild von Beni
 
Registriert seit: 07.02.2004
Fachbeiträge: 7.817
Abgegebene Danke: 10
Erhielt 153 Danke für 74 Beiträge
Code:
Knoten delKnote=kopf.nachfolger;
delKnoten

Rechtschreibung lautet der Trick.

Aber wenn du schon da bist, ein paar Tips:
1. Markiere den kopf, das Ende, etc als private. Ansonsten kann jeder draufzugreiffen!

Code:
public class Schlange {
  private Knoten kopf;
  private Knoten ende;
  ...
2. Verwende keine ä,ö,ü. Es kann (es muss nicht, aber es kann) passieren, dass du plötzlich vor einem sehr unschönen Quellcode stehst (besonders wenn du mit verschiedenen Betriebssystemen arbeitest).

3. Methoden scheibt man normalerweise klein. Das ist kein muss, aber es hat sich so eingelebt (eine Methode ist auch eher ein Verb, und kein Nomen )
Code:
public void loeschenKnoten (/*Knoten delKnoten*/){

So, und nun wünsche ich dir viel Spass beim Coden. Java ist was tolles, sobald die Anfangsschwierigkeiten überwunden sind.

mfg Beni
__________________
dock.javaforge.com

Byte-Welt
Beni ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 23.05.2004, 09:11   #3 (permalink)
Maxim
Nicht angemeldet
 
Fachbeiträge: n/a
Ich danke dir Beni für die hilfsreiche Tipps

mit Java beschaeftige ich mich nicht so lange, und jetzt nach kurze Zeit Theorie, muss ich mich mit Datenstrukturen beschaeftigen, theoretisch habe ich alles verstanden, aber die Theorie in Paxis umsetzen, in meinem Fall eine Schlange programmiren, ist fuer mich ziemlich schwierig.

Vielleicht kennst du paar Seiten, wo mann sowas als Tutorials finden könnte??
ich habe bis jetzt nichts vernünftiges gefunden

nochmal danke

Maxim
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 23.05.2004, 09:14   #4 (permalink)
Premium-Benutzer
 
Benutzerbild von Beni
 
Registriert seit: 07.02.2004
Fachbeiträge: 7.817
Abgegebene Danke: 10
Erhielt 153 Danke für 74 Beiträge
Da Verweis ich dich mal auf http://www.java-forum.org/de/viewforum.php?f=12
__________________
dock.javaforge.com

Byte-Welt
Beni ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 24.05.2004, 16:05   #5 (permalink)
Maxim
Nicht angemeldet
 
Fachbeiträge: n/a
hallo
ich habe schon wieder ein kleines problem beim Testen,

ich habe in meine Schlange 3 Knoten eingefügt, und wollte die sofort ausketten, um zu uberprüffen ob alles funktioniert
ich bekomme folgende Meldug
java.lang.NullPointerException..............................
Erstellung einer Schlange
Knoten einfügen
Element einfügen
element0,element1,element2
Es ist/sind 3 Knoten in der Schlange
Knoten löschen
Exception in thread "main"

dann habe ich versucht mindesten nur einen Knoten zu löschen, bekomme so was
Knoten einfügen
Element einfügen
element0
element1
element2
Es ist/sind 3 Knoten in der Schlange
Knoten löschen
Es ist/sind 2 Knoten in der Schlange
also funktioniert alles, ich kann aber nicht verstehen wieso es beim 2 oder drei knoten nicht funktioniert.


Code:
public void löschenKnoten (){
   // bei TRUE/FALSE Benutzung -->>Methode boolean
    if(counter==0)
      //System.out.println("leer");
      throw new ArithmeticException("Keinen Knoten vorhanden");
     //return false; // falls Methode boolean
      else{
        Knoten delKnoten=kopf.nachfolger;
        kopf.nachfolger=delKnoten.nachfolger;// Verbindung zum übernächsten knoten wird erstellt
        delKnoten.nachfolger=null;// Verbindung zu nachfolger wird gelöscht
        delKnoten.elementLöschen();
        counter--;
klasse test
Code:
........................................................
 Knoten neuerknoten=schlange1.einfügenKnoten(element);
......................................................
 System.out.println("Knoten löschen");
    schlange1.löschenKnoten();
   // schlange1.löschenKnoten();
  //  schlange1.löschenKnoten();
    System.out.println("Es ist/sind " + schlange1.counter + " Knoten in der Schlange");
try{

    schlange1.löschenKnoten();
  }
catch (ArithmeticException e){ System.out.println(e);}
kann das jemand mir erklären?

Grüsse Maxim
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Thema geschlossen    

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verkettete Liste Herr Fischer Java Basics - Anfänger-Themen 5 15.12.2008 09:38
Verkettete Liste renek Allgemeine Java-Themen 5 07.10.2008 07:44
Liste oder Schlange? Rogge Java Basics - Anfänger-Themen 18 07.10.2007 16:40
verkettete Liste Reen Java Basics - Anfänger-Themen 13 03.05.2007 09:53
Dopplelt verkettete liste Gast Java Basics - Anfänger-Themen 4 24.05.2006 17:04


Lesezeichen

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de