probleme de condition sur champ string
Bonjour à tous,
Encore nouveau sur Java, je me heurte au probleme suivant.
J'ai cree un objet "moisDuProgramme" de type "Mois".
Je demande une saisie pour mettre à jour "moisDuProgramme.nomMois".
Ensuite j'applique la methode MiseAJourNumero() à moisDuprogramme.
Si je rentre "juin", je m'attends à ce que moisDuProgramme.numeroMois soit egale à 6, mais il reste à O, la condition (nomMois == "juin") etant valant 0....pourtant "juin" egal "juin" pour moi...
Ca me donne sur la console:
Saisir un mois svp :
juin
le mois est :juin
Passe en B
le numero du mois est :0
Pouvez vous m'aider à y voir plus clair svp
Merci
Voici la class Mois:
Code:
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
| public class Mois
{
public String nomMois;
public int numeroMois;
public void MiseAJourNom()
{
if (nomMois == "juin")
{
nomMois = "JUIN";
}
}
public void MiseAJourNumero()
{
if (nomMois == "juin")
{
System.out.println("Passe en A");
numeroMois = 6;
}
else
System.out.println("Passe en B");
}
} |
et voici la classe MoisMots avec le main :
Code:
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
| import java.util.*;
import java.text.Normalizer;
public class MoisMots
{
public static void main(String[] args)
{
// declarer les varaibles
Mois moisDuProgramme = new Mois();
String MoisMots = new String();
// creer le scan
Scanner scanClavier = new Scanner(System.in);
// demander la saisie du mois
System.out.println("Saisir un mois svp :");
// enregistrer la saisie
moisDuProgramme.nomMois = scanClavier.nextLine();
System.out.println("le mois est :"+moisDuProgramme.nomMois);
moisDuProgramme.MiseAJourNumero();
System.out.println("le numero du mois est :"+moisDuProgramme.numeroMois);
}
} |