Do tej pory mam poniższy kod i problem. W liście głównej tworzą się ładnie listy kontaktów i listy grup, ale chciałbym się dostać do jakieś grupy i w niej stworzyć kolejną grupę itd. Jak mogę to zrobić?
Poza tym jak zamiast wyświetlać jakieś dziwne ciągi znaków wyświetlić nazwę grupy za pomocą komendy dir. Podejrzewam, że musi być odwołanie *.name gdzieś, ale nie wiem właśnie gdzie.
Ponadto... jak już będę miał grupy, a w nich kolejne grupy, kontakty itd. to jak przeszukać całą listę i podlisty, aby znaleźć dany element?
Poniższy kod, to to co mam:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package kontakty;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/**
*
* @author Carter
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
// TODO code application logic here
System.out.println("*************************************************");
System.out.println("**************** LISTA KONTAKTOW ****************");
System.out.println("*************************************************");
ArrayList lista_grup = new ArrayList();
ArrayList <Kontakt> lista_kontaktow = new ArrayList();
do
{
System.out.println("./>");
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))
{
// nie wiem jak
}
else if((klucz.equals("mkkontakt")) && (zrodlo != null))
{
BufferedReader tworz = new BufferedReader(new InputStreamReader(System.in));
String nazwa, imie, nazwisko, adres, nrtel, kod, miasto;
int menu = 0;
System.out.println("Czy tworzony kontakt, to:");
System.out.println("1 - kontakt prywatny?:");
System.out.println("2 - kontakt sluzbowy?:");
BufferedReader wybor = new BufferedReader(new InputStreamReader(System.in));
menu = Integer.parseInt(wybor.readLine());
Kontakt kontakt = new Kontakt();
nazwa = zrodlo;
kontakt.nazwa = zrodlo;
System.out.println("Podaj imie:");
imie = tworz.readLine();
kontakt.imie = imie;
System.out.println("Podaj nazwisko:");
nazwisko = tworz.readLine();
kontakt.nazwisko = nazwisko;
switch(menu)
{
case 1:
System.out.println("Podaj adres domowy:");
adres = tworz.readLine();
kontakt.adres_dom = adres;
break;
case 2:
System.out.println("Podaj adres domowy:");
adres = tworz.readLine();
kontakt.adres_praca = adres;
break;
}
System.out.println("Podaj nr telefonu:");
nrtel = tworz.readLine();
kontakt.telefon = nrtel;
System.out.println("Podaj kod pocztowy:");
kod = tworz.readLine();
kontakt.kod_pocztowy = kod;
System.out.println("Podaj miasto:");
miasto = tworz.readLine();
kontakt.miasto = miasto;
lista_kontaktow.add(kontakt);
lista_grup.add((lista_kontaktow));
}
else if((klucz.equals("mkgrupa")) && (zrodlo != null))
{
String group;
Grupa nowa = new Grupa();
group = zrodlo;
nowa.name = group;
ArrayList <Grupa> podgrupa = new ArrayList();
podgrupa.add(nowa);
lista_grup.add(podgrupa);
}
else if((klucz.equals("find")) && (zrodlo != null))
{
}
else if(klucz.equals("dir"))
{
int rozmiar = lista_grup.size();
for(i=0; i<rozmiar; i++)
{
System.out.println((lista_grup.get(i)));
}
}
else if(klucz.equals("help"))
{
System.out.println("W programie dostepne sa nastepujace polecenia:");
System.out.println("mkkontakt <nazwa_kontaktu> - dodaje nowy kontakt");
System.out.println("mkgrupa <nazwa_grupy> - dodaje nowa grupe");
System.out.println("del <nazwa_kontaktu> lub del <nazwa_grupy> usuwa kontakt/grupe");
System.out.println("cd <nazwa_grupy> - przechodzi do danej grupy");
System.out.println("cd - przechodzi do grupy glownej");
System.out.println("dir - wyswietla zawartosc grupy");
System.out.println("save <nazwa_pliku> - zapisuje kontakty do pliku");
System.out.println("read <nazwa_pliku> - wczytuje kontakty z pliku");
System.out.println("help - wyswietla pomoc");
System.out.println("exit - wyjscie z programu");
}
else if(klucz.equals("exit"))
{
break;
}
else
{
System.out.println("Niewlasciwe polecenie");
}
}
while(true);
}
}