If else imbriqué qui ressort toujours un resultat nul
Résolu
Gary
-
Gary -
Gary -
Bonjour,
mon programme analyse les lignes d'un fichier log et fais des test sur les valeurs
LA fonction retourne toujours null ... je ne comprends pas
mon programme analyse les lignes d'un fichier log et fais des test sur les valeurs
this.commande = this.getCommand(); public String getCommand(){ String commande =null; String UpOrDownLink = null; String LogicalChannel = null; String TransportChannel = null; if (this.isType("MU")){ UpOrDownLink = this.getField(24); LogicalChannel = this.getField(25); TransportChannel = this.getField(26); if (UpOrDownLink == "D" & LogicalChannel == "DC" ) { commande = "DL-DCCH-Message "; }else if (UpOrDownLink == "U" & LogicalChannel == "DC" ) { commande = "UL-DCCH-Message "; }else if (UpOrDownLink == "D" & LogicalChannel == "CC" ) { commande = "DL-CCCH-Message "; }else if (UpOrDownLink == "U" & LogicalChannel == "CC" ) { commande = "UL-CCCH-Message "; }else if ( LogicalChannel == "PC" ) { commande = "PCCH-Message "; }else if ( LogicalChannel == "BC" & TransportChannel == "FA" ) { commande = "BCCH-FACH-Message "; }else if ( LogicalChannel == "BC" & TransportChannel == "B" ) { commande = "BCCH-BCH-Message "; } } return commande; }
LA fonction retourne toujours null ... je ne comprends pas
A voir également:
- If else imbriqué qui ressort toujours un resultat nul
- Resultat foot - Télécharger - Vie quotidienne
- Lexer resultat - Télécharger - Sport
- Resultat loto d'aujourd'hui rdc ✓ - Forum Excel
- Résultat loto bulgarie autriche azerbaïdjan - Forum Loisirs / Divertissements
- Broche qui ressort de la peau ✓ - Forum Loisirs / Divertissements
3 réponses
KX
Messages postés
16761
Date d'inscription
Statut
Modérateur
Dernière intervention
3 020
Bien sûr, un objet ne doit jamais être comparé avec l'opérateur == qui ne fait que comparer la valeur des références, contrairement à la méthode equals...
Gary
merci KX j'avais appris ça un jour mais j'avais complètement zappé !
Bonjour,
Si la fonction retourne null, c'est parce que le code ne rentre dans aucune de vos conditions, et vous n'avez apparemment pas de conditions else ...
Dans un premier temps il faut essayer d'afficher toutes les variables dans la méthode pour comprendre ce qui ne va pas. Peut être que le this.isType est autre que "MU" ou, qu'un ou plusieurs des this.getfield() pose problème.
Je remarque aussi que vous utilisez l'opérateur bitwise '&' plutot que l'opérateur logique '&&'. Je n'arrive pas à comprendre l'intérêt d'évaluer les deux conditions même si la partie gauche est fausse.
Peut être serait-il plus simple d'utiliser '&&' qui va évaluer la condition de gauche dans un premier temps et si elle est fausse va directement continuer au bloc suivant.
Si la fonction retourne null, c'est parce que le code ne rentre dans aucune de vos conditions, et vous n'avez apparemment pas de conditions else ...
Dans un premier temps il faut essayer d'afficher toutes les variables dans la méthode pour comprendre ce qui ne va pas. Peut être que le this.isType est autre que "MU" ou, qu'un ou plusieurs des this.getfield() pose problème.
Je remarque aussi que vous utilisez l'opérateur bitwise '&' plutot que l'opérateur logique '&&'. Je n'arrive pas à comprendre l'intérêt d'évaluer les deux conditions même si la partie gauche est fausse.
Peut être serait-il plus simple d'utiliser '&&' qui va évaluer la condition de gauche dans un premier temps et si elle est fausse va directement continuer au bloc suivant.