[JAVA] condition
Résolu/Fermé
der_igel
Messages postés
50
Date d'inscription
mercredi 13 août 2008
Statut
Membre
Dernière intervention
9 octobre 2009
-
13 août 2008 à 11:22
der_igel Messages postés 50 Date d'inscription mercredi 13 août 2008 Statut Membre Dernière intervention 9 octobre 2009 - 13 août 2008 à 14:09
der_igel Messages postés 50 Date d'inscription mercredi 13 août 2008 Statut Membre Dernière intervention 9 octobre 2009 - 13 août 2008 à 14:09
A voir également:
- [JAVA] condition
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Excel cellule couleur si condition texte - Guide
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
7 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
13 août 2008 à 11:25
13 août 2008 à 11:25
Salut,
Essaie plutôt :
Cdt
Essaie plutôt :
this.lun1=(horaires[0]!= null) ? horaires[0] : "";
Cdt
der_igel
Messages postés
50
Date d'inscription
mercredi 13 août 2008
Statut
Membre
Dernière intervention
9 octobre 2009
13 août 2008 à 11:35
13 août 2008 à 11:35
Merci Fiddy, je n'avais pas dû bien comprendre la syntaxe. Pourtant j'ai cherché des exemples, mais je n'en ai pas trouvé...
Il n'y a plus d'erreurs maintenant, mais il ne fait pas encore ce que je voulais : afficher une chaîne vide à la place de "null". Je cherche...
Il n'y a plus d'erreurs maintenant, mais il ne fait pas encore ce que je voulais : afficher une chaîne vide à la place de "null". Je cherche...
der_igel
Messages postés
50
Date d'inscription
mercredi 13 août 2008
Statut
Membre
Dernière intervention
9 octobre 2009
13 août 2008 à 11:54
13 août 2008 à 11:54
Bon, ça ne marche pas, mais ça vient peut-être de tapestry. Il affiche toujours "null" à la place de ""... Je vais chercher une autre solution.
Merci fiddy pour ta réponse, je mets "résolu" car le problème de la condition est bien résolu.
Merci fiddy pour ta réponse, je mets "résolu" car le problème de la condition est bien résolu.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
13 août 2008 à 13:42
13 août 2008 à 13:42
C'est normal. Tu as fait une erreur classique.
Explication :
horaires[0]!="null" va comparer les instances de String. Ils ont des instances différentes. Donc cette instruction est vraie (même si horaires[0]="null"). Du coup this.lun1 va récupérer horaires[0] qui vaut null dans ton cas.
En java, pour comparer deux String, on utilise la méthode equals.
Par exemple :
Cdt
Explication :
this.lun1=(horaires[0]!= "null") ? horaires[0] : "";
horaires[0]!="null" va comparer les instances de String. Ils ont des instances différentes. Donc cette instruction est vraie (même si horaires[0]="null"). Du coup this.lun1 va récupérer horaires[0] qui vaut null dans ton cas.
En java, pour comparer deux String, on utilise la méthode equals.
Par exemple :
this.lun1=(! horaires[0].equals("null")) ? horaires[0] : "";
Cdt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
13 août 2008 à 11:56
13 août 2008 à 11:56
En fait, l'opérateur ternaire marche comme suit :
Si la condition est vraie, alors ça renvoie valeur1 sinon valeur2. C'est pour ça qu'il faut mettre de la forme :
Il n'y a plus d'erreurs maintenant, mais il ne fait pas encore ce que je voulais : afficher une chaîne vide à la place de "null". Je cherche...
Comment ça ?
condition?valeur1:valeur2;
Si la condition est vraie, alors ça renvoie valeur1 sinon valeur2. C'est pour ça qu'il faut mettre de la forme :
a=1<3?1:0;
Il n'y a plus d'erreurs maintenant, mais il ne fait pas encore ce que je voulais : afficher une chaîne vide à la place de "null". Je cherche...
Comment ça ?
der_igel
Messages postés
50
Date d'inscription
mercredi 13 août 2008
Statut
Membre
Dernière intervention
9 octobre 2009
13 août 2008 à 12:21
13 août 2008 à 12:21
Donc si j'ai bien compris, après l'instruction
En fait, ça ne marche pas... J'ai mis, comme tu m'as conseillé,
Le but est que quand la chaîne horaires[0] est null, this.lun1 prenne la valeur "" et non pas null. Mais si j'affiche this.lun1, j'obtiens toujours null. J'ai fait divers essais :
La deuxième ligne m'a permis de voir que this.lun1 ne prenait pas la valeur donnée après ":"
a=1<3?1:0;a vaut 1 si 1<3 et 0 sinon.
En fait, ça ne marche pas... J'ai mis, comme tu m'as conseillé,
this.lun1=(horaires[0]!= null) ? horaires[0] : "";
Le but est que quand la chaîne horaires[0] est null, this.lun1 prenne la valeur "" et non pas null. Mais si j'affiche this.lun1, j'obtiens toujours null. J'ai fait divers essais :
this.lun1=(horaires[0]!= null) ? horaires[0] : ""; this.lun1=(horaires[0]!= null) ? horaires[0] : "1"; this.lun1=(horaires[0]!= "null") ? horaires[0] : ""; // au cas où je n'aurais pas une chaîne null mais une chaîne de valeur "null" this.lun1=(horaires[0]!= "null") ? horaires[0] : "1";
La deuxième ligne m'a permis de voir que this.lun1 ne prenait pas la valeur donnée après ":"
der_igel
Messages postés
50
Date d'inscription
mercredi 13 août 2008
Statut
Membre
Dernière intervention
9 octobre 2009
13 août 2008 à 14:09
13 août 2008 à 14:09
Merci beaucoup Fiddy, tes explications sont très claires ! Pourtant, ça ne doit pas être la première fois que je compare des String...