![]() |
|
|||||||
| Allgemeine Java-Themen Allgemeine Themen, die nicht in andere Fachforen und nicht zu den Java Basics passen |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |
|
Nicht angemeldet
Fachbeiträge: n/a
|
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 |
| #2 (permalink) | |
|
Premium-Benutzer
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; 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;
...
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 |
|
|
| #3 (permalink) | |
|
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 |
| #4 (permalink) | |
|
Premium-Benutzer
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
|
|
|
| #5 (permalink) | |
|
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--;
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);}
Grüsse Maxim |
|
| Themen-Optionen | Thema durchsuchen |
| 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 |
|
|