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

Collection et Stream Java Discussion :

Rechercher dans une ArrayList


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Rechercher dans une ArrayList
    Bonjour,

    J'aurais besoin d'une aide en Java.

    Le projet tourne autour d'un système de covoiturage, à faire en POO. J'ai une classe Main dans laquelle il existe une méthode qui permet de créer un trajet et de le stocker dans une ArrayList de Trajet et une autre méthode qui permet de rechercher à l'intérieur de cette ArrayList s'il existe un Trajet correspondant.

    La méthode permettant de rechercher est celle-ci :
    Code Java : 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
     
     public Trajet rechercherTrajet (ArrayList<Trajet> listeTrajets)
        {
            Trajet tmp = rechercherTrajetInput();
            Scanner input = new Scanner(System.in);
            String entree;
            int valeurConvertie = 0, temoin=0, i=0;
     
            for(Trajet e:listeTrajets)
            {
                if(e.dateDepart == tmp.dateDepart && e.villeDepart == tmp.villeDepart && e.villeArrivee == tmp.villeArrivee)
                {
                    temoin = 0;
     
                }
            }
     
            if (temoin == 0)
                {
                    tmp = listeTrajets.get(1);
                    System.out.println("Trajet trouvé.");
                    System.out.println("##############################################");
                    System.out.println("Départ à " + tmp.villeDepart +" (" + tmp.pointDepart + ") le " + tmp.dateDepart.get(Calendar.DATE) + "/" + tmp.dateDepart.get(Calendar.MONTH) + "/" + tmp.dateDepart.get(Calendar.YEAR) + " à " + tmp.dateDepart.get(Calendar.HOUR) + "h" + tmp.dateDepart.get(Calendar.MINUTE) + " arrivée à "+ tmp.villeArrivee +" ("+ tmp.pointArrivee + ").");
                    System.out.println("##############################################");
                    System.out.println("Souhaitez-vous vous y inscrire ? (1 pour oui et 0 pour non)");
                    entree = input.nextLine();
                    valeurConvertie = Integer.parseInt(entree);
     
                    if(valeurConvertie == 1)
                    {
                        System.out.println("Inscription réussie");                  
                    }
     
                    return tmp;
                }
            else
            {
                System.out.println("Trajet introuvable.");
                return null;
            }
        }
    Et le main de la classe Main est celle-là :
    Code Java : 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
     
    public static void main (String[] args){
            System.out.println("Initialisation ...");
            ArrayList<Trajet> listeTrajets = new ArrayList<Trajet>();
            GregorianCalendar datetmp = new GregorianCalendar(2014,11,11,11,11);
            Trajet t = new Trajet(datetmp, 1, "Paris", "Lille");
            System.out.println("Initialisé.");
            System.out.println("-----------------------------------------------------");
            System.out.println("   Bienvenue dans le programme de covoiturage   ");
            System.out.println("-----------------------------------------------------");
            Membre m = new Membre("Chachacha", "ljisdfoi@fsldkjflsd.fr");
            m.pseudo = "gnagnagna";
            System.out.println("Votre pseudo est "+ m.afficherPseudo());
            m.ajouterTrajet(listeTrajets);
            m.afficherTrajet(listeTrajets.get(0));
            m.rechercherTrajet(listeTrajets);
     
        }

    Le souci est le suivant : lorsque je crée un Trajet, et que je souhaite le rechercher, je fais passer la variable "temoin" à 0. Or, même lorsqu'elle passe à 0, on entre pas dans la condition suivante. Impossible d'avancer sur ce problème, ça fait des heures que je cogite.

    Merci d'avance pour le temps que vous passerez à m'aider sur ce problème

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 169
    Points : 251
    Points
    251
    Par défaut
    Salut,

    Déjà, temoin est initialisé à 0, et ensuite tu le repasses à 0.
    Ne veux-tu pas plutôt faire
    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
     
    .
    .
    .
    for(Trajet e:listeTrajets) {
        if(e.dateDepart == tmp.dateDepart && e.villeDepart == tmp.villeDepart && e.villeArrivee == tmp.villeArrivee)
            temoin = 1;
    }
    .
    .
    .
    if (temoin == 1) {
        // Trajet trouvé
         .
         .
         .
    } else {
        // Trajet non trouvé
        .
        .
        .
    }

Discussions similaires

  1. rechercher dans une arraylist
    Par Kagami dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 06/06/2015, 17h06
  2. Recherche dans une ArrayList
    Par SAKDOSS dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 11/01/2012, 10h58
  3. Recherche dans une ArrayList
    Par c-ve dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 10/07/2007, 11h22
  4. Réponses: 4
    Dernier message: 19/06/2007, 10h41
  5. [C#,débutante] recherche dans une arraylist
    Par MissLaLou dans le forum ASP.NET
    Réponses: 5
    Dernier message: 16/05/2007, 08h58

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