PDA

Visualizza versione completa : [JAVA] Passare oggetto come parametro ad un metodo


Downloader
09-04-2005, 17.50.32
Sto cercando di fare un programmino che tramite l'uso di un array di oggetti immagazzini una serie di informazioni.
Il problema è che pero anche se non da errori in compilazione non funziona una beneamata cippa.


class biblio
{
int i=0;

libro lista[] = new libro[10];

void addLibro(libro a)
{
lista[i]= a;
i++;
}

void seeLibro()
{
for (int i=0;i<2;i++)
{
System.out.println("Nome inserito: "+lista[i].nome);
}
}

}

class libro extends biblio
{
public String nome;
public String cognome;
public int eta;
public String genere;
libro ogg = new libro();

void popolaLista()
{
for (int i=0;i<2;i++)
{
System.out.println("Nome: ");
ogg.nome = Console.readLine();
ogg.addLibro(ogg);
}
}
}

class start
{
public static void main(String args[])
{
libro i = new libro();
i.popolaLista();
i.seeLibro();
}

}



tnx! ;)

Dav82
09-04-2005, 18.08.15
A occhio e croce ti darà uno StackOverflowError... prova un po' a guardare cosa succede quando parti dal main... passi nella classe libro, e cosa viene creato? E poi cosa? E poi ancora cosa? ;)

Io ristrutturerei un po' le classi, così non mi sembrano messe nel modo migliore :)

Downloader
09-04-2005, 18.36.15
Ma lo sai che non ti seguo??

Entro nella classe libro e la prima cosa che viene creata sono gli attributi.

Dav82
09-04-2005, 18.41.33
Originariamente inviato da Downloader
Entro nella classe libro e la prima cosa che viene creata sono gli attributi.

Guarda il 5° attributo... ;)
Che cosa succede?

Downloader
09-04-2005, 18.47.09
Che creo un oggetto di tipo libro e che usero per lavorare con i vari metodi.

Dav82
09-04-2005, 18.51.41
Originariamente inviato da Downloader
Che creo un oggetto di tipo libro e che usero per lavorare con i vari metodi.

Sì... però tu crei un oggetto di tipo libro, il quale a sua volta crea - fra i proprio attributi - un oggetto di tipo libro, il quale a sua volta crea un altro oggetto di tipo libro e così via... come vedi c'è una serie infinita di creazioni fino a quando non incorri in uno StackOverflowError!

Poi non ho capito a cosa ti serve avere un attributo di tipo libro all'interno della classe libro... e anche perchè libro estende biblio :confused:

;)



p.s: i nomi delle classi iniziano con la lettera maiuscola :)

Downloader
09-04-2005, 18.53.02
Sto solo cercando di fare un po' di prove...non c'è un'idea precisa dietro.

Dav82
09-04-2005, 18.58.24
Originariamente inviato da Downloader
Sto solo cercando di fare un po' di prove...non c'è un'idea precisa dietro.

All'inizio è buonissima cosa far delle prove (Y): si fanno un bel po' di errori che poi non si faranno più in futuro ;)