Egy tömböt hozok létre, azt azt szeretném, ha minden eleme 0 értékű lenne. De amikor ezt beakarom állítani, akkor csak hibát jelez. Kód lentebb található, java-ban. Mi lehet a hiba?
int[] tomb = new int[99];
int i;
for(i = 0; i <= tomb.length; ++i){
c[i] = 0;
}
...
int[] tomb = new int[99];
int i;
for(i = 0; i <= tomb.length; ++i){
tomb[i] = 0;
}
...
így helyes, fentebb véletlen c-t írtam a tömb nevének.
Hibát nem ír ki, csak annyit, hogy itt hiba van.
public void ajtókatBezár(int[] börtönAjtókSzáma){
int i;
for(i = 0; i <= börtönAjtókSzáma.length; ++i){
börtönAjtókSzáma[i] = 0;
}
}
Amit én sejtek, bár lehet, hogy hülyeség az az, hogy nincs tömb létrehozva, csak paraméterként kapja meg, és ezért nem működik. De mivel paraméterként kapja, ettől még működnie kéne, vagy nem? Lehet, hogy teljesen mellé fogtam, nemtudom.
Ha tudsz kivételt kezelni akkor itt van ez:
public void ajtókatBezár(int[] börtönAjtókSzáma){
if( börtönAjtókSzáma == null ){
throw new Exception("Null a tömböm!!!!!!!!");
}
int i;
for(i = 0; i <= börtönAjtókSzáma.length; ++i){
börtönAjtókSzáma[i] = 0;
}
}
Ha pedig nem, akkor itt van ez:
public void ajtókatBezár(int[] börtönAjtókSzáma){
if( börtönAjtókSzáma == null ){
System.out.println("Null a tömböm!!!!!!!!");
return;
}
int i;
for(i = 0; i <= börtönAjtókSzáma.length; ++i){
börtönAjtókSzáma[i] = 0;
}
}
Szóval simán leellenőrzöm, hogy null-e a tömb. De csak mondom a hiba az nagyon beszédes.
"for(i = 0; i <= börtönAjtókSzáma.length; ++i){"
<= nem jó! Ha pl. 5 a tömb hossza, akkor csak 0,1,2,3,4 indexek vannak, 5 nincs.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!