Annonce

Inscriptions terminées.

#1 08-03-2005 09:49:15

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Curieux...

Dites moi.
J'effectue un test sur une String de manière à pouvoir gerer le clique sur "annuler" d'une boite de dialogue et le fait que l'utilisateur n'est rien renseigné:

Code:

String number = "";
number +=JOptionPane.showInputDialog(    this,"Entrez le N° Chrono recherché : ","Consultation entreprise par Code Postal",JOptionPane.QUESTION_MESSAGE);

            if ((!number.equals("")) & (number != null) & (!number.equals("null"))) 
            {
                consult.consulterEntrepriseParChrono(number);
                donnees = consult.getDonnees();
                if (!donnees.isEmpty())
                    //si on a trouvé des machines ayant le bon critère
                    {
                    creationDonneesEntrepriseToute(colonneEntrepriseToute, donnees);
                    scroll.repaint();
                    etat.setText(
                        "Données : Liste des entreprises ayant pour Numero Chrono "
                            + number);
                    //Changement barre d'etat
                    } 
                    else //si les données sont vides on ne fait rien
                    {
                    JOptionPane.showConfirmDialog(null,    "Aucune entreprise ayant pour Numero Chrono "+ number+ " trouvée !","Erreur",JOptionPane.OK_CANCEL_OPTION,JOptionPane.ERROR_MESSAGE);
                    }
            } 
            else 
            {
                //                                        System.out.println("Utilisateur à cliqué sur annuler");
            }

Comment se fait-il que mon if est prit en compte alors que j'utilise un "&"(ET) dans mon test, alors que je devrais normalement utiliser un "|"(OU) pour que le test soit correct (si j'utilise le "OU", cela ne marche pas).
Mon test est "si la String est égale à truc, ou bien est égale à machin, ou bien, ...et pas "ET" (?).

Yoda?...
loool


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#2 08-03-2005 13:54:36

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Re: Curieux...

met 2 "&" pour voir


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#3 09-03-2005 09:17:38

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Curieux...

Borusse a écrit:

met 2 "&" pour voir

Ben j'essayerai, mais le principe de doubler l'operateur logique est utile dan sle cas d'un "OU" car en mettant "||", on obtient un "OU exclusif", mais le "ET" est déjà exclusif (le seul cas où le réultat est "1" est que les 2 entrée sont à "1").

Bref, je ne sais pas si tout le monde suit, mais j'essayerai ton truc quand même.


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#4 09-03-2005 09:48:48

yoda
Mega Power Member
Date d'inscription: 10-11-2004
Messages: 127

Re: Curieux...

Lu Papy,
Sur ce coup je vois pas l'interet de mettre un "ou " car il faut bien que ta chaine reponde a tous les criteres pour que tu rentre dans le bloc de code non?
Pour doubler le caractère effectivement je pense pas que tu en ai besoin.
Explique plus clairement quesque tu veux obtenir de ton test stp.
Encore repondu avec un temps de retard mais bon ;-)

Hors ligne

 

#5 09-03-2005 11:22:08

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Curieux...

En fait le problème est que la String renvoyée par le JoptionPane est égale à "null" si l'utilisateur à cliqueé sur "annuler".
Je veux rentrer dans mon if si la String n'est pas égale à "null", ou alors ni égale à "" (champ vide), et par optimisation ou alors que la String n'est pas été mise à null (evitement d'un java.lang.nullPointerException).

heu...
je suis en train de réaliser que c'ets bien un "ET" qu'il faut que j'utilise je crois bien...car il ne faut rentrer dans le "if" que si la Srting n'est ni null, ni égale à "null", ni égale à ""...donc j'ai bon depuis le début..non?


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#6 09-03-2005 13:51:41

yoda
Mega Power Member
Date d'inscription: 10-11-2004
Messages: 127

Re: Curieux...

Donc oui je pense que t'as bon depuis le debut, pour moi c'est bien des Et qu'il faut mettre, parcontre met la condition !=null en 1er pour eviter les null pointer exception. Si une des conditions n'est pas valides il doit pas tester les suivantes.

Bon dev'.
JB

Hors ligne

 

#7 10-03-2005 09:59:35

papy
Mega Power Member
Date d'inscription: 03-11-2004
Messages: 302

Re: Curieux...

yoda a écrit:

Donc oui je pense que t'as bon depuis le debut, pour moi c'est bien des Et qu'il faut mettre, parcontre met la condition !=null en 1er pour eviter les null pointer exception. Si une des conditions n'est pas valides il doit pas tester les suivantes.

Bon dev'.
JB

Ha bon ?????
La jvm effectue les test dans l'ordre de lecture et pas au travers d'un thread ?????
dans un :

Code:

if((maString.equals("")) & (maString==null))
{
   ...
}

tu veux dire que il regarde d'abord si la chaine est egale à "" avant de regarder si elle n'est pas null ???


Le seul et unique "MEGA Power Member" à être papa!
Java, ce qui differentie les hommes, des jeunes garçons...

Hors ligne

 

#8 10-03-2005 16:17:00

yoda
Mega Power Member
Date d'inscription: 10-11-2004
Messages: 127

Re: Curieux...

je veux pas dire de connerie mais il me semble.
Sinon tu vas etre obligé de decomposé ton test(d'abord <>null et le reste apres)

Hors ligne

 

#9 10-03-2005 23:02:24

Borusse
Mega Power Member
Date d'inscription: 09-11-2004
Messages: 175

Re: Curieux...

il a raison jb, sa fait les ordres dans l'ordre avec les null


Papy tu n'es plus the only one "Power Member"

I'm the only one  "Powerfull Membré"

Hors ligne

 

#10 14-03-2005 17:51:30

yoda
Mega Power Member
Date d'inscription: 10-11-2004
Messages: 127

Re: Curieux...

Merci de ta confirmation Boris.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Classement Internet