Hallo zusammen,
ich stehe vor folgender Aufgabe:
Es soll eine Klasse Person erstellt werden, diese Person hat eine ArrayList an Nachfolgern. Von diesen Personen gibt es logischerweise jetzt ein paar Stück, so dass hinterher eine Art Könige-Abstammungs-Baum entsteht. Sprich: Teilweise gibt es nur einen Nachfolger, manchmal jedoch auch 3 oder 4 oder eben gar keinen.
Soweit, so gut.
Klasse Person sieht derzeit folgendermaßen aus:
Zusaetzlich gibt es eine Klasse Karolingerreich, die dieses tolle Reich erstellt. Diese hab ich wie folgt erstellt:
und jetzt geht es ans Eingemachte:
Durch jeweils eine iterative Suchmethode soll per Breitensuche und Tiefensuche folgendes ausgegeben werden:
Ausgabe Breitensuche:
Karl der Grosse (1 Nachfolger)
Ludwig der Fromme (4 Nachfolger)
Lothar (1 Nachfolger)
Pippin (0 Nachfolger)
Ludwig der Deutsche (3 Nachfolger)
Karl der Kahle (0 Nachfolger)
Ludwig II. (0 Nachfolger)
Karlmann (1 Nachfolger)
Ludwig III. (0 Nachfolger)
Karl der Dicke (0 Nachfolger)
Arnulf von Kaernten (1 Nachfolger)
Ludwig das Kind (0 Nachfolger)
Ausgabe Tiefensuche:
Karl der Grosse (1 Nachfolger)
Ludwig der Fromme (4 Nachfolger)
Karl der Kahle (0 Nachfolger)
Ludwig der Deutsche (3 Nachfolger)
Karl der Dicke (0 Nachfolger)
Ludwig III. (0 Nachfolger)
Karlmann (1 Nachfolger)
Arnulf von Kaernten (1 Nachfolger)
Ludwig das Kind (0 Nachfolger)
Pippin (0 Nachfolger)
Lothar (1 Nachfolger)
Ludwig II. (0 Nachfolger)
Trotz Google, lesen in Foren, lesen in Vorlesungsunterlagen bekomm ich nicht den richtigen Ansatz hin, geschweige denn eine Lösung. Ich hoffe, ihr könnt mir bei meinem Problem helfen!
Danke im Voraus
ich stehe vor folgender Aufgabe:
Es soll eine Klasse Person erstellt werden, diese Person hat eine ArrayList an Nachfolgern. Von diesen Personen gibt es logischerweise jetzt ein paar Stück, so dass hinterher eine Art Könige-Abstammungs-Baum entsteht. Sprich: Teilweise gibt es nur einen Nachfolger, manchmal jedoch auch 3 oder 4 oder eben gar keinen.
Soweit, so gut.
Klasse Person sieht derzeit folgendermaßen aus:
Java:
import java.util.ArrayList;
public class Person{
private String name;
private ArrayList<Person> nachfolger = new ArrayList<Person>();
public Person(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setName(){
this.name = name;
}
}
public void addNachfolger(Person nachfolgender){
nachfolger.add(nachfolgender);
}
public String toString(){
return name + " (" + nachfolger.size() + " Nachfolger)\n";
}
}
Zusaetzlich gibt es eine Klasse Karolingerreich, die dieses tolle Reich erstellt. Diese hab ich wie folgt erstellt:
Java:
public class Karolingerreich{
public static void main(String[] args){
Person karl = new Person("Karl der Große");
Person ludwig = new Person("Ludwig der Fromme");
Person lothar = new Person("Lothar");
Person pippin = new Person("Pippin");
Person ludwigd = new Person("Ludwig der Deutsche");
Person karlk = new Person("Karl der Kahle");
Person ludwig2 = new Person("Ludwig II.");
Person karlmann = new Person("Karlmann");
Person ludwig3 = new Person("Ludwig III.");
Person karld = new Person("Karl der Dicke");
Person arnulf = new Person("Arnulf von Kaernten");
Person ludwigk = new Person("Ludwig das Kind");
//Nachfolger
karl.addNachfolger(ludwig);
ludwig.addNachfolger(lothar);
ludwig.addNachfolger(pippin);
ludwig.addNachfolger(ludwigd);
ludwig.addNachfolger(karlk);
lothar.addNachfolger(ludwig2);
ludwigd.addNachfolger(karlmann);
ludwigd.addNachfolger(ludwig3);
ludwigd.addNachfolger(karld);
karlmann.addNachfolger(arnulf);
arnulf.addNachfolger(ludwigk);
}
}
und jetzt geht es ans Eingemachte:
Durch jeweils eine iterative Suchmethode soll per Breitensuche und Tiefensuche folgendes ausgegeben werden:
Ausgabe Breitensuche:
Karl der Grosse (1 Nachfolger)
Ludwig der Fromme (4 Nachfolger)
Lothar (1 Nachfolger)
Pippin (0 Nachfolger)
Ludwig der Deutsche (3 Nachfolger)
Karl der Kahle (0 Nachfolger)
Ludwig II. (0 Nachfolger)
Karlmann (1 Nachfolger)
Ludwig III. (0 Nachfolger)
Karl der Dicke (0 Nachfolger)
Arnulf von Kaernten (1 Nachfolger)
Ludwig das Kind (0 Nachfolger)
Ausgabe Tiefensuche:
Karl der Grosse (1 Nachfolger)
Ludwig der Fromme (4 Nachfolger)
Karl der Kahle (0 Nachfolger)
Ludwig der Deutsche (3 Nachfolger)
Karl der Dicke (0 Nachfolger)
Ludwig III. (0 Nachfolger)
Karlmann (1 Nachfolger)
Arnulf von Kaernten (1 Nachfolger)
Ludwig das Kind (0 Nachfolger)
Pippin (0 Nachfolger)
Lothar (1 Nachfolger)
Ludwig II. (0 Nachfolger)
Trotz Google, lesen in Foren, lesen in Vorlesungsunterlagen bekomm ich nicht den richtigen Ansatz hin, geschweige denn eine Lösung. Ich hoffe, ihr könnt mir bei meinem Problem helfen!
Danke im Voraus