[java] problèmes avec les conditions

Fermé
Michael - 5 déc. 2006 à 15:20
 slooptoo - 5 déc. 2006 à 22:21
Bonjour,
j'ai commencé le java y'a pas très longtemps et j'ai essayé de me faire un petit programme, mais j'ai des problèmes dans mes conditions. Est-ce que qqun peu m'aider?

voici mon code:

class etudiant {

public static void main (String[] args) {


//.........demande d'entrer les données



System.out.print ("Entrez 0 si vous etes une femme ou 1 si vous etes un homme >>> ");
boolean sexe = TextIO.getlnBoolean ();

//demande d'entrer le prénom
System.out.print ("Entrez votre prenom >>> ");
String prenom = TextIO.getlnString ();

//demande d'entrer le lieu de domicile
System.out.print ("Entrez votre lieu de domicile >>> ");
String domicile = TextIO.getlnString ();

//demande d'entrer l'année de naissance
System.out.print ("Entrez votre annee de naissance >>> ");
int anneenaissance = TextIO.getlnInt ();



//.........affiche à l'écran


if (sexe = true){
if ((2006-anneenaissance) < 0) {
System.out.println ("Ben vous etes pas encore ne.");
}
else if ((2006-anneenaissance) > 130) {
System.out.println ("Ben vous etes bien vieux.");
}
else {
System.out.println ("L'etudiant nomme " + prenom + ", age de " + (2006-anneenaissance) + " ans, avec domicile a " + domicile + " a ete saisi.");
}
}
else if {
if ((2006-anneenaissance) < 0) {
System.out.println ("Ben vous etes pas encore nee.");
}
else if ((2006-anneenaissance) > 130) {
System.out.println ("Ben vous etes bien vieille.");
}
else {
System.out.println ("L'etudiante nommee " + prenom + ", agee de " + (2006-anneenaissance) + " ans, avec domicile a " + domicile + " a ete saisie.");
}
}
}
}
A voir également:

2 réponses

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
5 déc. 2006 à 15:32
Lorsque tu fais un test d'égalité (=), tu ne fais pas :
 if (sexe = true){ 

Mais :
 if (sexe == true){ 


Le premier cas (ce que tu as fait), c'est attribuer la valeur 'vrai' à sexe.

Sinon un peu plus bas dans ton code tu fais :
 else if { 


Tu dois mettre une condition dans ton if impérativement si tu veux faire un test.
Dans ton cas, tu es dans la condition 'sinon' de ton premier test, donc sexe est égal à 'false'. Supprime le
if {
qui ne sert à rien.
0
ok, ça fonctionne

merci beaucoup
0
j irais meme un peu plus loin en disant que de mon point de vue il est preferable de mettre :
if (sexe)
et renommer sexe en isFemale
ca fait
if (isFemale)
et la tu t apercois que le sexe n est pas un booleen ;-)

le pourquoi du 'if (sexe)' c est pour eviter de futurs 'if (sexe == false)' ou 'if (sexe != true)' qui sont semantiquement pas pratiques

(c est juste une question de bonne pratique)
0