Avatar billede trp79 Nybegynder
09. februar 2003 - 16:37 Der er 10 kommentarer og
1 løsning

Automatisk oprettelse af objekter

Hejsa,
Jeg vil gerne oprette en hel stak objekter automatisk. Det fremgår af understående kode hvad jeg gerne vil, men det er selvf. ikke lovlig syntaks. Hvordan giver jeg giver jeg opretter jeg objekterne ud fra "tal"?

for(int i=1; i<=K1.pladser; i++)
        {
            String tal = String.valueOf(i);
            System.out.println(i);
            System.out.println(tal);
            Saede K1S+tal=new Saede(K1,1);
        }
Avatar billede soreno Praktikant
09. februar 2003 - 16:39 #1
Sådan kan du gøre:

int antal = 10;
Saede saede[] = new Saede[ANTAL];
for(int i=0;i<antal;i++)
{
  String tal = String.valueOf(i);
  System.out.println(i);
  System.out.println(tal);
  saede[i] = new Saede(K1,1);
}
Avatar billede soreno Praktikant
09. februar 2003 - 16:40 #2
Mit "antal" er vist det du har defineret som "K1.pladser".
Avatar billede arne_v Ekspert
09. februar 2003 - 16:48 #3
Hvor kommer variabelen tal ind i billedet ?
Avatar billede soreno Praktikant
09. februar 2003 - 16:50 #4
Det må være det samme som "i" ?
Avatar billede soreno Praktikant
09. februar 2003 - 16:51 #5
Men, det er vel ikke det du mener ?
Avatar billede =maddog= Nybegynder
09. februar 2003 - 16:52 #6
Det kan du ikke. Du skal oprette et array og gemme dine objekter der Saade[] K1S = new Saede[K1.pladser];
Avatar billede arne_v Ekspert
09. februar 2003 - 16:55 #7
søren>

Nej. Jeg kan godt se hvilken værdi den får. Men jeg kan ikke se, hvad den
bliver brugt til (i dit eksempel !).

:-)
Avatar billede trp79 Nybegynder
09. februar 2003 - 17:04 #8
Sørens løsning virker fint, den skulle bare lige tilpasses. Det ser nu således ud:
        Saede saedeK1[] = new Saede[K1.pladser];

        for(int i=1; i<=K1.pladser; i++)  //Opretter automatisk sæderne i den pågældende sal.
        {
            String tal = String.valueOf(i);
            //System.out.println(i);
            System.out.println(tal);
            saedeK1[i-1]=new Saede(K1,i);//-1 fordi array starter i 0 og "int i" i forløkken starter ved 1
            System.out.println(saedeK1[i-1].reserveret);//viser om sædernes status.
        }
Avatar billede soreno Praktikant
09. februar 2003 - 17:05 #9
Jeg tror bare at "tal" skulle bruges til at illustrere spørgerens ønske. Altså variabler der hedder:
K1S1
K1S2
K1S3

Men det bruger man jo et array (som starter ved 0) til derfor tilgåes de:
K1S[0]
K1S[1]
K1S[2]

(I mit eksempel burde "saede[]" være "K1S[]" - for at bruge navnene fra det oprindelige eksempel)
Avatar billede trp79 Nybegynder
09. februar 2003 - 17:06 #10
Præcis :o)
Avatar billede arne_v Ekspert
09. februar 2003 - 17:07 #11
søren>

Det er jeg godt klar over.

Jeg små-driller dig bare lidt, fordi du ikke slettede den linie
da du skiftede til arrays.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester