Aide programmation JAVA

Fermé
drspinoza Messages postés 51 Date d'inscription dimanche 25 octobre 2015 Statut Membre Dernière intervention 9 mai 2016 - Modifié par drspinoza le 18/12/2015 à 03:20
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 18 déc. 2015 à 07:35
Bonjour,

J'ai une méthode qui ne fonctionne pas alors que celle complètement identique fonctionne parfaitement.

Voici ma méthode qui ne fonctionne pas :
public static void afficherDescriptionVehicule (int caseTab ,Vehicule[]tabV){
      System.out.print ("Entrez une description : ");
       String description = Clavier.lireString();
        for(int compteur = 0; compteur < caseTab; compteur++){
           if(description == tabV[compteur].getDescription()){
                System.out.println ();
                System.out.print   ("ENTRER pour afficher prochain vehicule");
               Clavier.lireFinLigne();
                System.out.println(tabV[compteur].toString());
           } 
        }
}


Alors que celle-ci quasiment identique fonctionne tres bien.

 public static void afficherCategorieVehicule (int caseTab ,Vehicule[]tabV){        
       System.out.println("1-terrestre, 2-aquatique, 3-aerien, 4-amphibie");
       System.out.print  ("Entrez une categorie : ");
        int categorie = Clavier.lireInt();
         for(int compteur = 0; compteur < caseTab; compteur++){
             if(categorie == tabV[compteur].getCategorie()){
              System.out.println();
              System.out.print  ("[ENTRER] pour afficher prochain vehicule. ");
             Clavier.lireFinLigne();
              System.out.println(tabV[compteur].toString());
           }
        }    
}  


Merci de m'aider à comprendre.

A voir également:

1 réponse

KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
18 déc. 2015 à 07:35
Bonjour,

La comparaison de deux objets avec == compare les références des objets, pas les valeurs de ces objets.
Tu peux donc avoir deux String égaux mais qui ne sont pas comparables, ce qui arrive par exemple quand un String vient de lireClavier...

Utilises la méthode equals pour comparer deux String :
if(description.equals(tabV[compteur].getDescription())){
0