IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

gestion d'une liste d'enseignants


Sujet :

Langage Java

  1. #1
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut gestion d'une liste d'enseignants
    Voic ce dont j'ai écris car j'aimerais bien modifier et supprimer un enseignant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    public static void modi_ens() throws java.io.IOException
           {  
              System.out.println("**********MODIFIER UN ENSEIGNANT*************");
                  Enseignant E=new Enseignant();
                  String n1, p1, t1;
                  int m1;
     
            System.out.print("Saisir nom:\t");
            n1= lecture.lirestring();
            System.out.print("Saisir prenom:\t");
            p1= lecture.lirestring();
            System.out.print("Saisir le numero de telephone:\t");
            t1= lecture.lirestring();
             System.out.print("Veuillez entre un matricule:\t");
            //m1= (int)lecture.lireDouble();
            E.getMatricule();
            E.getNom();
            E.getPrenom();
            E.getTelephone();
     
                    int pos=0;
               while(pos<tab_ens.length){
                   if(tab_ens[pos].getMatricule()==m1){
                   tab_ens[pos].getNom();break;
                   }
                   pos++;
                   }
                   }         
     public static void supprim_ensei() throws java.io.IOException
           {        
     
     
     
                 }
    et je ne sais pas comment faire pour supprimer alors je sollicite votre aide.

  2. #2
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Essaye de passer par une classe de tableaux dynamiques (LinkedList, Vector, etc...), qui te permettrons facilement de stocker des objets avec des méthodes telles que .add(o objet) et de les enlever avec des .remove(o objet).

    Bonne chance

  3. #3
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Vraiment!
    J'essaye mais je ne comprend toujours pas d'ou vient mon erreur
    je suis perdu

  4. #4
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par Lio 2
    J'essaye mais je ne comprend toujours pas d'ou vient mon erreur
    Quelle erreur ?
    Comme l'a dit Linio, il serait plus intéressant d'utiliser une List.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 151
    Points : 151
    Points
    151
    Par défaut
    Citation Envoyé par Lio 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    public static void modi_ens() throws java.io.IOException
           {  
              System.out.println("**********MODIFIER UN ENSEIGNANT*************");
                  Enseignant E=new Enseignant();
                  String n1, p1, t1;
                  int m1;
     
            System.out.print("Saisir nom:\t");
            n1= lecture.lirestring();
            System.out.print("Saisir prenom:\t");
            p1= lecture.lirestring();
            System.out.print("Saisir le numero de telephone:\t");
            t1= lecture.lirestring();
             System.out.print("Veuillez entre un matricule:\t");
            //m1= (int)lecture.lireDouble();
            E.getMatricule();
            E.getNom();
            E.getPrenom();
            E.getTelephone();
     
                    int pos=0;
               while(pos<tab_ens.length){
                   if(tab_ens[pos].getMatricule()==m1){
                   tab_ens[pos].getNom();break;
                   }
                   pos++;
                   }
    Mais si tu tiens absolument a utiliser ton code tel quel alors quelques remarques :
    ta methode void modi_ens() ne modififie rien.
    En effet tu recuperes des valeurs(n1, p1, t1) que tu n'utilises pas.
    Tu fais des getters sur enseignant , pourquoi faire?
    Dans le while tu fais une recherche par le matricule. Ok mais mais quand c'est ok , tu ne fais rien.
    En conclusion ta methode ne marche pas.

  6. #6
    Membre averti Avatar de welcome_59
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 203
    Points : 352
    Points
    352
    Par défaut
    Voici une méthode (avec ce qu'il faut pour tester) qui fonctionne

    Enseignant.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    public class Enseignant{
     
      private int matricule;
      private String nom;
      private String prenom;
      private String telephone;
     
      public Enseignant(int matricule, String nom,
      String prenom, String telephone) {
        this.matricule = matricule;
        this.nom = nom;
        this.prenom = prenom;
        this.telephone = telephone;
      }
     
      public void setMatricule(int matricule) {
        this.matricule = matricule;
      }
      public int getMatricule() {
        return matricule;
      }
     
      public void setNom(String nom) {
        this.nom = nom;
      }
      public String getNom() {
        return nom;
      }
     
      public void setPrenom(String prenom) {
        this.prenom = prenom;
      }
      public String getPrenom() {
        return prenom;
      }
     
      public void setTelephone(String telephone) {
        this.telephone = telephone;
      }
      public String getTelephone() {
        return telephone;
      }
     
      public String toString() {
        return "\nMatricule: "+this.matricule + 
                  "\nNom: "+this.nom +
                  "\nPrénom: "+this.prenom +
                  "\nTéléphone: "+this.telephone+"\n";
      }
    }
    Utilisation.java


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Scanner;
    import java.util.Iterator;
    public class Utilisation {
     
    	static List<Enseignant> listeEnseignants;
     
      //Recherche d'un enseignant en fonction de son matricule
      //Suppose que le matricule est unique
      public static Enseignant trouveEnseignant(int matricule) {
        Iterator i = listeEnseignants.iterator();
        Enseignant ens = null;
        while(i.hasNext()) {
          ens = (Enseignant)i.next();
          if(ens.getMatricule()==matricule) {
            break;
          }
          else {
            ens = null;
          }
        }
        return ens;
      }
     
      public static void modifieEnseignant (Enseignant e, 
      String nouveauNom, String nouveauPrenom, String nouveauTel) {
        //Si on admet que le matricule est invariable, on ne modifiera que les autres attributs
        //Sinon ajouter le matricule à la liste des arguments et faire un setMatricule
        e.setNom(nouveauNom);
        e.setPrenom(nouveauPrenom);
        e.setTelephone(nouveauTel);
      }
     
      public static void main(String [] args) {
     
        listeEnseignants = new ArrayList<Enseignant>();
     
        //Population de la liste
        for(int i=0;i<100;i++) {
          	listeEnseignants.add(new Enseignant(i+1, "Nom"+(i+1), 
          	"Prenom"+(i+1), "+345 251 21 24"+(i+1)));
        }
     
        System.out.println("******MODIFIER UN ENSEIGNANT******");
        String n1, p1, t1;
        int m1;
     
        try {
        	Scanner lire = new Scanner(System.in);  
     
    		System.out.println("Entrez le matricule a modifier : ");  
    		m1 = lire.nextInt();
     
    		if(m1<listeEnseignants.size()) {
    			System.out.println("Valeur actuelle de l'enseignant:");
    			System.out.print(trouveEnseignant(m1));
    			System.out.println("\nSaisir nom:\t");
    	    	n1= lire.next();
    	    	System.out.println("Saisir prenom:\t");
    	    	p1= lire.next();
    	    	System.out.println("Saisir le numero de telephone:\t");
    	    	t1= lire.next();
    	    	modifieEnseignant(trouveEnseignant(m1),n1,p1,t1);
    	    	System.out.println("\n\nValeur de l'enseignant apres modif:");
    	    	System.out.print(trouveEnseignant(m1));
    		}
        }
        catch(Exception e) {
        	System.out.println("La méthode a été interrompue suite à une exception");
        }
      }
    }

  7. #7
    Membre averti Avatar de welcome_59
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 203
    Points : 352
    Points
    352
    Par défaut
    Désolé j'ai oublié la méthode qui permet de supprimer (Dans Utilisation.java par exemple)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public static boolean supprimerEnseignant(Enseignant e) {
      return listeEnseignants.remove(e);
    }
    Et pour supprimer en ne connaissant que le matricule:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public static boolean supprimerEnseignant(int matricule) {
      return listeEnseignants.remove(trouveEnseignant(matricule));
    }

Discussions similaires

  1. [SimpleXML] Gestion d'une liste avec xml
    Par juninho269 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 29/05/2008, 17h06
  2. Model Driven ? Data Driven ? Gestion d'une liste a usage multiple
    Par dolanor dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 13/01/2008, 21h51
  3. [MySQL] formulaire automatisés pour gestion d'une liste
    Par Larffas dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/10/2007, 13h01
  4. [MCD] Gestion d'une liste de matériels
    Par joker vb dans le forum Schéma
    Réponses: 4
    Dernier message: 15/09/2007, 01h34
  5. Gestion d'une liste box
    Par norwy dans le forum Windows
    Réponses: 6
    Dernier message: 01/11/2005, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo