Witam,
Mam następujący problem... Mój program posiada grupę główną. W niej mogą być tworzone kolejne grupy, a w nich kolejne itd. Problem polega na tym, że po stworzeniu grup w grupie głównej, mogę dostać się tylko do grupy, którą stworzyłem jako ostatnią. Nie mogę wychwycić błędu dlatego proszę o pomoc. Oto kod:
Klasa grupa:
public class Grupa {
private String name = " ";
private TreeMap <String, Object> podgrupa = new TreeMap <String, Object> ();
public TreeMap<String, Object> getPodgrupa() {
return podgrupa;
}
public void setPodgrupa(TreeMap<String, Object> podgrupa) {
this.podgrupa = podgrupa;
}
public String getGrupa() {
return name;
}
public void setGrupa(String Grupa) {
this.name = Grupa;
}
}
I w mainie mam taką pętle:
TreeMap <String, Object> aktualna = new TreeMap <String, Object>();
Grupa kontakty = new Grupa();
Grupa nowa = new Grupa();
Grupa temporary = null;
aktualna = kontakty.getPodgrupa();
do{
BufferedReader komenda = new BufferedReader(new InputStreamReader(System.in));
int i = 0;
String input = komenda.readLine();
String odstep = " ";
String klucz = null, zrodlo = null;
String[] temp;
temp = input.split(odstep);
for(i=0; i<temp.length; i++)
{
if(i == 0)
{
klucz = temp[i];
}
else
{
zrodlo = temp[i];
}
}
if((klucz.equals("cd")) && (zrodlo != null)) // wchodzenie do danej grupy
{
temporary = (Grupa) aktualna.get(zrodlo);
if(temporary != null)
{
System.out.println(zrodlo + " " + temporary);
aktualna = temporary.getPodgrupa();
}
}
else if((klucz.equals("mkgrupa")) && (zrodlo != null)) // tworzenie grupy
{
nowa.setGrupa(zrodlo);
aktualna.put(zrodlo, nowa);
}
}
while(true);