Supprimer De Tableau
Résolu
Bonjour,
je suis en train de développer en java une application de Gestion de Pharmacie je me suis demandé de créer dans la classe Pharmacie une méthode "suppression" d'un médicament selon une référence donné en paramètre
alors j'ai fait comme ça
public void suppression(int r)
{
for(int i=0;i<tabMed.length;i++)
{
if (tabMed[i].reference==r)
{
for(int j=i;j<tabMed.length-1;j++)
{
tabMed[j]=tabMed[j+1];
}
}
}
}
ça marche mais la dernière case ne se supprime pas
regardez l'affichage après la suppression de médicament de référence 4434
http://nimga.fr/f/KdCRT.jpg
SVP Comment Faire pour dépasser cette erreur?
NB c'est un tableau d'objet
je suis en train de développer en java une application de Gestion de Pharmacie je me suis demandé de créer dans la classe Pharmacie une méthode "suppression" d'un médicament selon une référence donné en paramètre
alors j'ai fait comme ça
public void suppression(int r)
{
for(int i=0;i<tabMed.length;i++)
{
if (tabMed[i].reference==r)
{
for(int j=i;j<tabMed.length-1;j++)
{
tabMed[j]=tabMed[j+1];
}
}
}
}
ça marche mais la dernière case ne se supprime pas
regardez l'affichage après la suppression de médicament de référence 4434
http://nimga.fr/f/KdCRT.jpg
SVP Comment Faire pour dépasser cette erreur?
NB c'est un tableau d'objet
2 réponses
-
ModérateurTu ne peux pas changer la taille d'un tableau, mais tu peux éventuellement mettre la dernière case avec une valeur "null" et modifier ta méthode d'affichage pour ne pas que les valeurs null soient affichées...
public void suppression(int r) { for(int i=0, n=tabMed.length; i<n; i++) { if (tabMed[i]!=null && tabMed[i].reference==r) { for(int j=i; j<n-1; j++) tabMed[j]=tabMed[j+1]; tabMed[n-1]=null; } } } public void affichage() { for (Object med : tabMed) if (med!=null) System.out.println(med); } -
Merci Beaucoup cher Ami ça m'a aidé
c'est résolu (y)