ArrayIndexOutOfBoundException : 15 (taille de mon tab)

Résolu
axelvdk Messages postés 42 Date d'inscription dimanche 26 août 2012 Statut Membre Dernière intervention 30 mai 2013 - 15 déc. 2011 à 13:25
axelvdk Messages postés 42 Date d'inscription dimanche 26 août 2012 Statut Membre Dernière intervention 30 mai 2013 - 16 déc. 2011 à 09:16
Salut,

J'ai un soucis avec mes tableaux, je fais un programme pour calculer l'indice de la dernière occurrence d'un nombre (nb) dans un tableau d'entiers mais il me sort :
ArrayIndexOutOfBoundException : 15 (taille de mon tab);

Je vois pas où est le problème...

class DerOccNbFin{ 
public static int occ(int tab [ ] ){

int res 0, nb4;
for (int i=1;i<=tab.length;i++){
if (tab[i]==nb) res =i ;
}
return res;
}

public static void main(String args[]){
int tab [ ] = new int [15];
for (int i= 1; i<tab.length; i++){
tab[i]=i+2-1;
}
System.out.println("La dernière occurrence de 4 est : " +occ(tab));
}
}

// j'avais fait une fonction de ce genre pour remplir mon tableau mais ça tourne pas non plus... //

public static void main (String args[]){
int tab [] ={1,2,4,3,4,4,5,7,8,7,8,3,4,6};
System.out.println("La dernière occurrence de 4 est : "+occ(tab));
      }
}


J'avais déjà réussi à faire un programme similaire qui marche mais j'avais repris (en copier coller) une méthode qui était vue au cours et la seule différence avec la mienne sont les valeurs entrées...

Le principe déterministe m'échappe parfois avec les ordinateurs :-)

Un grand merci à ceux qui prendront la peine de me lire,

Axel





Les petits ruisseaux font les grands fleuves...

2 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 369
15 déc. 2011 à 16:26
Bonjour,

Les éléments d'un tableau sont numérotés de 0 à sa taille - 1

Remplaces donc
for (int i=1;i<=tab.length;i++){
par
for (int i=0;i<tab.length;i++){
3
axelvdk Messages postés 42 Date d'inscription dimanche 26 août 2012 Statut Membre Dernière intervention 30 mai 2013 1
16 déc. 2011 à 09:16
Bien joué et bon à savoir.

Merci
Les petits ruisseaux font les grands fleuves...
0
Rejoignez-nous