Supprimer un élément d'un tableau
Fermé
Youssef.Idelhadj
Messages postés
14
Date d'inscription
mercredi 21 novembre 2012
Statut
Membre
Dernière intervention
17 mars 2016
-
21 nov. 2012 à 14:07
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 21 nov. 2012 à 14:54
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 21 nov. 2012 à 14:54
A voir également:
- Supprimer un élément d'un tableau
- Comment faire un tableau - Guide
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Impossible de supprimer un fichier - Guide
1 réponse
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
21 nov. 2012 à 14:54
21 nov. 2012 à 14:54
Dans ton if, tu fais exactement la même chose que la condition soit vraie ou fausse, c'est comme si il n'y avait pas de condition, ce que tu fais est donc ceci :
Cela va te provoquer une exception quand tu vas atteindre i=tab.length-1, puisque tu vas essayer d'accéder à tab[i+1], c'est à dire tab[tab.length], qui n'existe pas !
De plus, il est très maladroit d'utiliser des variables globales qui dépassent le cadre de la méthode (en particulier ton i, qui est tout ce qu'il y a de plus local). Une méthode comme celle-ci devrait être totalement autonome et ne pas dépendre du reste de la classe :
public void supprimer (int supp) { for(i=0;i<tab.lentgh;i++) nv_tab[i]=tab[i+1]; }
Cela va te provoquer une exception quand tu vas atteindre i=tab.length-1, puisque tu vas essayer d'accéder à tab[i+1], c'est à dire tab[tab.length], qui n'existe pas !
De plus, il est très maladroit d'utiliser des variables globales qui dépassent le cadre de la méthode (en particulier ton i, qui est tout ce qu'il y a de plus local). Une méthode comme celle-ci devrait être totalement autonome et ne pas dépendre du reste de la classe :
public static int[] supprimer(int[] tab, int supp) { int[] nv_tab; // ... return nv_tab; }