Avatar billede Slettet bruger
30. april 2007 - 14:08 Der er 2 kommentarer og
1 løsning

Fejl i udførelse Array

Hey eksperter.

Jeg får følgende fejl:

init:
deps-jar:
Compiling 1 source file to H:\Programmering\Eksamensprojekt (Yatzi)\Under udarbejdelse\Yatzy\build\classes
compile:
run:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
        at YatzyFrame.<init>(YatzyFrame.java:170)
        at Yatzy.main(Yatzy.java:25)
Java Result: 1
BUILD SUCCESSFUL (total time: 2 seconds)


fra følgende kode:

private JLabel[] snavn;
private String[] s = {"René", "Bjarke", "Ralph", "Michael"};

snavn = new JLabel[4];
int santal = 4;
int swidth = 281;
for (int i = 1; i <= santal; i++) {
    snavn[i] = new JLabel();
    snavn[i].setBounds(swidth, 95, 115, 19);
    snavn[i].setHorizontalAlignment(JLabel.CENTER);
    snavn[i].setVerticalAlignment(JLabel.CENTER);
    snavn[i].setFont(new Font("Verdana", Font.BOLD, 17));
    snavn[i].setForeground(Color.red);
    snavn[i].setText(s[i]);
    swidth += 128;
}

linie 170 er:
snavn[i] = new JLabel();

Mangler jeg noget? :-s
Den siger ikke fejl inde i netbeans, først når jeg prøver at køre programmet.
Avatar billede sgaardbo Nybegynder
30. april 2007 - 14:15 #1
Arrays i Java tæller fra 0 (nul), og du tæller fra 1 til 4 (inkl.). Position nummer 4 har altså index nummer 3 (ligesom den første plads i dit array har index 0).

- Så din for-løkke bør hedde for(int i = 0; i < santal; i++)...

  Søren.
Avatar billede Slettet bruger
30. april 2007 - 14:26 #2
Nåå jo! vidste jeg jo godt :)

Takker for det, smid et svar :)
Avatar billede sgaardbo Nybegynder
30. april 2007 - 14:50 #3
Jeps, det kommer her :-)

  Søren.
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