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
- 5/90 resultat ✓ - Forum Excel
- Resultat loto d'aujourd'hui rdc ✓ - Forum Excel
- Avoir les résultats du dernier tirage du loto :) - Forum Linux / Unix
3 réponses
KX
Messages postés
19031
Statut
Modérateur
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.