Avatar billede bumle90 Nybegynder
19. november 2001 - 23:13 Der er 3 kommentarer og
1 løsning

2D array

Hej....ja så har jeg et spørgsmål til :)
Jeg sidder og er igang med at lave et skakspil, og skal bruge et 2D array. Men jeg er ikke lige helt med på hvordan jeg skal bruge et sådant. For at gøre det lidt nemmere at overskue har jeg lavet en simpel kode hvor jeg har det samme problem. Jeg får indexoutofbounds exception, og jeg forstår simpelthen ikke hvorfor. Hvis der er nogle der vil hjælpe mig ville jeg blive meget glad. Her er koden

public class dude
{

    int a,b,c;

       
        public dude(int a1,int b1)
        {
        a=a1;
        b=b1;
        c=a_og_b(a,b);
        }


        public static void main(String[]args)
        {
        dude[][] matrix=new dude[1][1];
       
        for (int i=0;i<=1;i++ )
        {
        matrix[i][i]=new dude(i,i);
        }
       
        matrix[0][0]=new dude(5,4);
        matrix[1][0]=new dude(5,3);
        matrix[0][1]=new dude(5,2);
        matrix[1][1]=new dude(5,1);       

        System.out.print(\"\\n\"+
                        matrix[0][0].c+\"\\n\"+
                        matrix[1][0].c+\"\\n\"+
                        matrix[0][1].c+\"\\n\"+
                        matrix[1][1].c);


        }

        private int a_og_b(int a,int b)
        {
        return(a-b);
               
        }
}

Tak på forhånd
Avatar billede datajesper Nybegynder
19. november 2001 - 23:17 #1
Det er sikkert din FOR-løkke

for (int i=0;i<=1;i++ )

Den skal ikke være <=, men kun 0, da man indekserer fra 0 af.
Avatar billede datajesper Nybegynder
19. november 2001 - 23:18 #2
Sorry der skulle stå

ikke <=, men =
Avatar billede jakoba Nybegynder
19. november 2001 - 23:20 #3
    new dude[1][1];
de 2 etttaller er hvirmange elementer der er i hvert array. så du opretter et 2D array med eet eneste elemet  [0][0]
sig istedet:
    new dude[2][2]
så er der 2 elementer på hver led (og højeste index er 1 som du også bruger dem).

mvh JakobA
Avatar billede datajesper Nybegynder
19. november 2001 - 23:20 #4
Når du laver dude[1][1], siger du hvor mange elementer der skal kunne være:

altså 1 * 1 = et element.

Hvis du vil have plads til to elementer, så kan de gørese på denne måde [1][2] eller [2][1]

eller 4 elemnterf [2][2].

For at tilgå den sidste kan du skrive
[0][0]
[0][1]
[1][0]
[1][1]
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