Visa ett inlägg
Gammal 2019-06-29, 15:55   #2157
svenbanan
Banned User
 
Reg.datum: Jan 2012
Inlägg: 10 099
Du vill förmodligen snarare kunna göra nåt sånt här:

Dagis d = new Dagis();
d.adderaHund();

Dvs adderaHund() är en metod som du definierar i klassen Dagis.
I den metoden har du tillgång till arrayen för hundar genom det aktuella dagis-objektet.
Dvs nåt liknande detta:

this.hundDagis[0] = new Hund();

Lägg till en variabel för att hålla ordning på hur många hundar du lagt till i din array i Dagis klassen.

int antalHundar = 0;

När du kör den där adderaHund() metoden så gör du nåt liknande detta:

this.hundDagis[this.antalHundar] = new Hund();
this.antalHundar++;

Du får dock se till att du inte försöker lägga till fler element till arrayen än vad den har minne allokerat. I ditt fall kan du inte ha mer än 20 element i arrayen. Försöker du lägga in nåt på index 30 så kommer du skriva till en minnesadress som kan få sitt innehåll ändrat utan din vetskap. Dvs du kommer få problem.

Men jag skulle som sagt rekomendera att du försöker använda nåt annat än vanliga simpla arrayer. Försök kolla på ArrayList. Jag tror inte du behöver allokera minne vid kompilering för sådana. Och längden på en sådan "array" är antalet element du faktiskt stoppat in (och inte den allokerade storleken).
svenbanan är inte uppkopplad   Svara med citat