Zolyx Skrevet 5. september 2003 Del Skrevet 5. september 2003 Har et problem med å lage multitabeller. Her skal jeg feks lage et fotball-lag: Lag ( spiller ( alder, egenskaper ) ) Hvordan gjøres dette tru? Lenke til kommentar
enden Skrevet 6. september 2003 Del Skrevet 6. september 2003 Droppe tabeller, men bruke objekter som inneholder objekter? Siden kan du lagre objektene i en ArrayList. Altså; du lager en lagklasse som inneholder spillerobjekter. Spillerobjektene kommer fra en spillerklasse som inneholder atributtene alder og egenskaper. Til slutt kan du "lagre" disse i en ArrayList. Er du med eller skal jeg snekre litt pseudokode til deg? (søndag kveld isåfall) Lenke til kommentar
smetho Skrevet 6. september 2003 Del Skrevet 6. september 2003 Ja, ville lagt en klasse Spiller som inneholdt de attributtene du trenger (navn, alder, posisjon osv). Hver av spillerne (Spiller-objektene) kan du så legge i en tabell (eller i en utrolig praktisk ArrayList som enden sa). Da vil denne tabellen/listen inneholde alle spillerne. Skal du da senere ha flere lag er det bare å lage en ny tabell/liste og legge inn forskjellige lag (andre tabeller). Håper du forstod, var nemlig elendig forklart. Er en smule trøtt Lenke til kommentar
Zolyx Skrevet 7. september 2003 Forfatter Del Skrevet 7. september 2003 En ArrayList hørtes ikke dumt ut. Er veldig interessert i å se pseudokode, kanskje jeg skjønner bedre da. Lenke til kommentar
smetho Skrevet 7. september 2003 Del Skrevet 7. september 2003 Vel, kan mekke sammen bittelitt her. Koden blir ufullstendig og bare en pekepinn på hva jeg tenker på og hvordan ArrayList fungerer. Antar også at klassen Spiller er laget med de nødvendige attributtene. //importere muligheter for ArrayList import java.util.ArrayList; ArrayList lag = new ArrayList(); Spiller enSpiller = Spiller(navn, alder.....osv); lag.add(enSpiller); //gjør så dette med alle spillerne på laget. For å gå gjennom ArrayListen og hente ut Spiller-objektene senere kan du gjøre slik: for(int i = 0; i < lag.size(); i++) { Spiller enSpiller = (Spiller)lag.get(i); ... } // her må du selvfølgelig gjøre noe mer der prikkene er for å ikke overskrive enSpiller ved hver runde. For så å lage en ArrayList av flere lag så kan en vel gjøre det ved å lage en ny ArrayList og legge ArrayListen lag i denne (og eventuelt andre lag du måtte trenge). ArrayList samlingLag = new ArrayList(); samlingLag.add(lag); samlingLag.add(lag2); //osv Vel, ble elendig kode, men jaja Håper du fatta poenget. Du kan lese mer om ArrayList her. Lenke til kommentar
enden Skrevet 7. september 2003 Del Skrevet 7. september 2003 Du kom meg i forkjøpet igjen... Lenke til kommentar
Zolyx Skrevet 10. september 2003 Forfatter Del Skrevet 10. september 2003 Takker for svar Lenke til kommentar
asha Skrevet 15. september 2003 Del Skrevet 15. september 2003 Hmm... hvorfor drive med en HAUG med objekter for å lagre noen integers? Jeg ville brukt en tredimensjonal tabell jeg... Det er faktisk mulig å overdirve bruk av objekter. Jeg forutsetter her at det KUN er integer som skal lagres. Eks public class ballSpill{ private final int INT_ANTALL_LAG = 10; private final int INT_ANTALL_SPILLERE = 22; // fottball er'ke min ting private final int INT_ANTALL_DATA_PER_SPILLER = 2; private int[][][] array_SpillerData; public ballSpill(){ array_SpillerData = int[iNT_ANTALL_LAG][iNT_ANTALL_SPILLERE][iNT_ANTALL_DATA_PER_SPILLER];//hoppet ned en linje gitt... } public int[] getSpillerData(int intLagNummer, int intSpillerNummer){ int[] temp = int[iNT_ANTALL_DATA_PER_SPILLER]; for(int i = 0; i<temp.length; i++ temp = array_SpillerData[intLagNummer][intSpillerNummer]; return temp; } } jadda... hvis annen data enn integer skal tas vare på i minnet, ville også jeg satset på en spillerklasse, en lagklasse og en arkivklasse. Lagklassen inneholdt ett array av spillerobjekter eks: spillerklasse[] spillere = spillerklasse[22]; Arkivklassen (kontroller klassen) har ett array av lagobjekter. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå