Supprimer De Tableau

Résolu/Fermé
MtrMahran Messages postés 6 Date d'inscription vendredi 25 mai 2012 Statut Membre Dernière intervention 24 novembre 2013 - 23 déc. 2012 à 16:49
MtrMahran Messages postés 6 Date d'inscription vendredi 25 mai 2012 Statut Membre Dernière intervention 24 novembre 2013 - 23 déc. 2012 à 23:57
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
A voir également:

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
23 déc. 2012 à 21:47
Tu 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);
}
2
MtrMahran Messages postés 6 Date d'inscription vendredi 25 mai 2012 Statut Membre Dernière intervention 24 novembre 2013
23 déc. 2012 à 23:57
Merci Beaucoup cher Ami ça m'a aidé
Merci infiniment
0
MtrMahran Messages postés 6 Date d'inscription vendredi 25 mai 2012 Statut Membre Dernière intervention 24 novembre 2013
Modifié par MtrMahran le 23/12/2012 à 23:58
Merci Beaucoup cher Ami ça m'a aidé
c'est résolu (y)
0