gebe mir den ersten eltern knoten

tanzverfuehrung

Bekanntes Mitglied
hallo!also mein problem ist eigentlich das ich das richtige eltern teil nicht bekomme!
ich soll zwischen absoluten und relativen pfad unterscheiden.
realtive kann ich schon den eltern teil zurück geben und auch den kinder namen(knoten)
, beim absoluten pfad geht immoment nur den knoten zurück geben aber nicht das mir das eltern teil zurück gegeben wird.
also ich soll das eltern teil vom knoten ermitteln und dann von dem wieder das elternteil zu ermitteln bis es kein elternteil mehr gibt ,dann ist es die wurzel!

dann zum absoluten pfad umwandeln und so wie mit relativen pfad fortführen!


mein code errstmal!
Java:
	@Override
	public Preferences node(String pathName) {
		

		if (pathName.isEmpty())
			return this;
		int index = pathName.indexOf("/");
		
		
if(index == 0){			//absoluter Pfad
	Preferences parent = parent();
	while (parent != null) {		//solange es eltern gibt
	if(parent.parent() ==  null)
		break;
	parent = parent.parent();		
	}	
				
	//zum relativen pfad machen zur weiter verarbeitung
	pathName = pathName.substring(index+1);
	
}
index = pathName.indexOf("/");

		if (index < 0) { // Wenn der index < 0 ist wurde kein Slash mehr
							// gefunden
			Preferences p = getOrCreateNode(pathName);
			// und im pathName steht das letzte Element
			return p;
		}
		String[] split = pathName.split("/", 2);	
		
		Preferences node1 = node(split[0]);
		Preferences node2 = node1.node(split[1]);
		return node2;
	}

	/**
	 * Prüft ob ein Pfad vorhanden ist, wenn kein pfad vorhanden ist, erzeuge
	 * ihn und gebe ihn zurück!
	 * 
	 * @param
	 * @return value, der gegebene oder erzeugte Pfad
	 */
	private Preferences getOrCreateNode(String nodeName) {

		SimplePreferences value = nodeMap.get(nodeName); // prüfen ob knoten
														// vorhanden ist
		
		if (value == null) { // knoten nicht vorhanden
			value = new SimplePreferences(nodeName,this); // knoten erzeugen
			nodeMap.put(nodeName, value);
		}
		return value;
	}

	@Override
	public String name() {
		return name;
	}
	
	/**
	 * Liefert den Eltern-Knoten zurück, oder null falls es sich bei diesem
	 * Knoten um einen Wurzel-Knoten handelt.
	 */
	@Override
	public Preferences parent() {
		return parent;
	}
so mein problem ist das ich bei dieser zeile
Java:
	Preferences parent = parent();
immer NULL rauskommt.und somit nicht in meine schleife geht!

wie kriege ich also den richtigen eltern teil
 

tanzverfuehrung

Bekanntes Mitglied
wenn ich jetzt versuche eine eigene methode getParent zu erstellen

Java:
public String getParent(String pathname){
	Preferences parent = pathname.parent();
	
	return pathname;

}
dann geht das nicht weil

The method parent() is undefined for the type String

wie mache ich das am besten!?????
 

Asgar13

Bekanntes Mitglied
wenn ich jetzt versuche eine eigene methode getParent zu erstellen

Java:
public String getParent(String pathname){
	Preferences parent = pathname.parent();
	
	return pathname;

}
dann geht das nicht weil

The method parent() is undefined for the type String

wie mache ich das am besten!?????

Dein String "pathname" besitzt nicht die Methode .parent();
Das sagt die Fehlermeldung.

Code:
abstract  Preferences 	parent()
          Returns the parent of this preference node, or null if this is the root.
 

tanzverfuehrung

Bekanntes Mitglied
ja also mir wurde zwar nicht wirklich geholfen,
aber ich habe es dann doch irgendwie hin bekommen:toll::applaus:
hier ein code ausschnitt
meine getNode Methode habe ich in getRoot umgenannt

Java:
/**
	 * Methode überprüft ob es ein absoluter Pfad oder ein relativer Pfad ist
	 * und gibt den letzten Knoten(node) zurück
	 * 
	 * @param pathName
	 *            , der Pfad Name
	 * @return lastNode , den letzten Knoten des Pfades
	 */
	@Override
	public Preferences node(String pathName) {

		if (pathName.isEmpty())
			return this;
		int index = pathName.indexOf("/");

		if (index == 0) { // absoluter Pfad
			getRoot(this);
			// zum relativen pfad machen zur weiter verarbeitung
			pathName = pathName.substring(index + 1);
		}

		index = pathName.indexOf("/");

		if (index < 0) { // Wenn der index < 0 ist wurde kein Slash mehr
							// gefunden, dann ist es der letzte Knoten
			Preferences lastNode = getOrCreateNode(pathName);
			return lastNode;
		}
		// wir in ein Array gesplittet mit der größe 2
		String[] split = pathName.split("/", 2);

		Preferences node1 = node(split[0]);
		Preferences node2 = node1.node(split[1]);
		return node2;
	}

	/**
	 * Methode prüft solange bis sie keine Eltern mehr findet und gibt die
	 * Wurzel des Pfades zurück.
	 * 
	 * @param actual
	 * @return rootNode, der Wurzel Knoten des Pfades
	 * 
	 */
	public static Preferences getRoot(Preferences actual) {
		Preferences rootNode = actual.parent();
		if (rootNode == null)
			rootNode = actual;

		while (rootNode != null) {
			if (rootNode.parent() == null)
				break;
			rootNode = rootNode.parent();
		}
		return rootNode;
	}

	/**
	 * Prüft ob ein Pfad vorhanden ist, wenn kein pfad vorhanden ist, erzeuge
	 * ihn und gebe ihn zurück!
	 * 
	 * @param nodeName
	 *            , der übergebende Knoten Name
	 * @return value, der gegebene oder erzeugte Pfad
	 */
	private Preferences getOrCreateNode(String nodeName) {

		SimplePreferences value = nodeMap.get(nodeName); // prüfen ob knoten
															// vorhanden ist

		if (value == null) { // knoten nicht vorhanden
			value = new SimplePreferences(nodeName, this); // knoten erzeugen
			nodeMap.put(nodeName, value);
		}
		return value;
	}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
E Wie gebe ich alle Daten zwischen zwei Zeitpunkten aus? Java Basics - Anfänger-Themen 2
A Wie gebe ich bei android eine string im programm aus? Java Basics - Anfänger-Themen 4
M Wie gebe ich true or false aus? Java Basics - Anfänger-Themen 9
D gebe string zurück mit von bis bestimmtes Zeichen Java Basics - Anfänger-Themen 4
GreenTeaYT Wie gebe ich Informationen von einer Klasse zur anderen Klasse? Java Basics - Anfänger-Themen 9
G Wie gebe ich einen Dateipfad in RandomAccessFile an? Java Basics - Anfänger-Themen 2
M Wie gebe ich den Inhalt aus? Java Basics - Anfänger-Themen 17
S Wie gebe ich den Source Code ohne Kommentare aus? Java Basics - Anfänger-Themen 4
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
M Stream mit den ersten n natürlichen Zahlen Java Basics - Anfänger-Themen 4
H Erste Schritte Warum misslingt die Auswertung des ersten Aufrufparameters? Java Basics - Anfänger-Themen 4
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
padde479 Array Multiplikation der ersten n Zahlen Java Basics - Anfänger-Themen 7
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
M Ersten Index von Array bestimmen Java Basics - Anfänger-Themen 14
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
KogoroMori21 Vorbereitung auf die Programmieren Klausur vom ersten Semester Java Basics - Anfänger-Themen 4
1 Erste Schritte Was denkt ihr über eines meiner ersten Javaprogramme? Java Basics - Anfänger-Themen 2
H Ersten Zug bestimmen Java Basics - Anfänger-Themen 12
Java The Hutt Primzahlen - die ersten 100 Java Basics - Anfänger-Themen 17
M JComboBox ersten Eintrag leerlassen bzw. Platzhalter Java Basics - Anfänger-Themen 1
J Erste Schritte Feedback zum ersten Anfängerprogramm Java Basics - Anfänger-Themen 6
Z Ersten Buchstaben eines Elements eines String-Arrays auslesen Java Basics - Anfänger-Themen 5
M Methoden while liefert nur den ersten Datensatz Java Basics - Anfänger-Themen 12
C Entfernen des ersten String-Elements Java Basics - Anfänger-Themen 6
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
K Frage zu meinem ersten Programm Java Basics - Anfänger-Themen 5
K OOP Die ersten Schritte bei der Programierung Java Basics - Anfänger-Themen 1
S Die ersten vier perfekte Zahlen. Java Basics - Anfänger-Themen 30
Z Meine ersten Gehversuche Java Basics - Anfänger-Themen 11
D Problem mit meinem ersten JOptionPane - Fatal exception occurred. Program will exit. Java Basics - Anfänger-Themen 6
M Ausführen des ersten Java Programms Java Basics - Anfänger-Themen 2
S Problem beim ersten compilieren überhaubt Java Basics - Anfänger-Themen 43
C ArrayIndexOutOfBoundsException bei meinem ersten objektiorientierten Programm Java Basics - Anfänger-Themen 4
X SAX die ersten Schritte Java Basics - Anfänger-Themen 5
T Datenbank automatisch erzeugen beim ersten Start Java Basics - Anfänger-Themen 6
I Problem beim Schreiben eines ersten Programms Java Basics - Anfänger-Themen 3
Semox Ersten Wert eines Intervalls bei Berechnung einschließen Java Basics - Anfänger-Themen 8
B Ersten Eintrag aus einer Map bekommen Java Basics - Anfänger-Themen 11
A Die Werte der ersten beiden markierten Check-Boxen registrieren Java Basics - Anfänger-Themen 11
T zweiter Timer überschreibt den ersten Timer ? Java Basics - Anfänger-Themen 5
D Suche in JList nach dem ersten Buchstaben Java Basics - Anfänger-Themen 2
T zweiter thread killt den ersten Java Basics - Anfänger-Themen 2
T Ersten Buchstaben in einem Wort groß schreiben. Java Basics - Anfänger-Themen 6
L beim ersten compilen schon erste probleme Java Basics - Anfänger-Themen 8
K Programmieren von den ersten 70 Fibonacci-Zahlen Java Basics - Anfänger-Themen 2
S Tomcat Error mit meiner ersten JSF Seite Java Basics - Anfänger-Themen 17
M Problem beim Löschen des ersten Eintrags einer TreeSet Java Basics - Anfänger-Themen 3
G die ersten Zeichen eines Strings Vergleichen mit String Java Basics - Anfänger-Themen 6
G ersten Tag des Monats ermitteln Java Basics - Anfänger-Themen 3
N die ersten drei buchstaben eines Strings ausgeben Java Basics - Anfänger-Themen 2
J Überprüfung ersten Zeichens Java Basics - Anfänger-Themen 7
L Probleme beim ersten JavaProgramm! Java Basics - Anfänger-Themen 4
M meine ersten versuche Java Basics - Anfänger-Themen 8
N Kleines Problem mit meiner ersten Klasse Java Basics - Anfänger-Themen 5
S ersten schritte in Java lernen! Java Basics - Anfänger-Themen 3
thE_29 Vor dem ersten Posten bitte lesen! Java Basics - Anfänger-Themen 1
L Kompletter Neuling: Hilfe beim ersten Java Versuchen Java Basics - Anfänger-Themen 12
J Eltern-Fenster ermitteln Java Basics - Anfänger-Themen 2
M Eltern-Fenster wird auch geschlossen Java Basics - Anfänger-Themen 6
G Zugriff auf Methoden in der Eltern Klasse Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben