Problème avec l'instruction if !!
jerbiano
Messages postés
62
Statut
Membre
-
malaik5 Messages postés 282 Statut Membre -
malaik5 Messages postés 282 Statut Membre -
Bonjour,
J'ai un probléme avec l'instruction if !! il me demande toujours d'initialiser rex et finalement quand je l'initialise il me retourne la valeur initialisé
voila le code
Quelqu'un peut m'aider svp!?
Djerba4ever
J'ai un probléme avec l'instruction if !! il me demande toujours d'initialiser rex et finalement quand je l'initialise il me retourne la valeur initialisé
voila le code
public int NumInterface (String choix){
int rex;
if (choix.substring(0).equals(0))
rex = 0;
else if(choix.substring(0).equals(1))
rex = 1;
else if(choix.substring(0).equals(2))
rex =2;
return rex; //erreur
}
Quelqu'un peut m'aider svp!?
Djerba4ever
A voir également:
- Problème avec l'instruction if !!
- Ajoutez une instruction pour faire afficher le mot secret construit. ✓ - Forum Python
- L'instruction à 0x emploie l'adresse mémoire 0x l'état de la mémoire ne peut pas être read ✓ - Forum Windows
- If exist ✓ - Forum Autoit / batch
- The instruction data for this shipment have been provided by the sender to dhl electronically ✓ - Forum Consommation & Internet
- Le mot secret ne s'affiche pas, comment pourrais-je faire? ✓ - Forum Python
6 réponses
Bonjour
Quel est le problème ? Tu dis de retourner rex, il retourne la valeur qu'il y a dans rex, ce n'est pas ce que tu voulais ?
Remarque : si choix.substring(0) ne vaut ni 0, ni 1, ni 2, tu ne sais pas quelle est la valeur retournée car il n'y a pas de else à ton dernier if. Tu aurais dû l'initialiser avant, par exemple int rex=0;
Si tu es sûr ce sont les 3 seules valeurs possibles, tu n'as besoin d'aucun test, ta fonction se résume à
Quel est le problème ? Tu dis de retourner rex, il retourne la valeur qu'il y a dans rex, ce n'est pas ce que tu voulais ?
Remarque : si choix.substring(0) ne vaut ni 0, ni 1, ni 2, tu ne sais pas quelle est la valeur retournée car il n'y a pas de else à ton dernier if. Tu aurais dû l'initialiser avant, par exemple int rex=0;
Si tu es sûr ce sont les 3 seules valeurs possibles, tu n'as besoin d'aucun test, ta fonction se résume à
public int NumInterface (String choix){
return choix.substring(0);
}
Bonjour,
un conseil qui pourra t'eviter des problemes,
evites les if imbriqués, utilise un switch,
Remarque:
si tu initialise le rex il te retourne la valeur initialisée, ce qui veut dire q'aucun de tes if n'a été satisfait, et c'est absolument normal, parce que la fonction
choix.substring(0).equals(0)
compare 2 string et toi dans ton code une des parties est un int, (0,1,2)
met comme dit précedement '0' '1' '2' au pire "0" "1" "2"
Bon courage
un conseil qui pourra t'eviter des problemes,
evites les if imbriqués, utilise un switch,
Remarque:
si tu initialise le rex il te retourne la valeur initialisée, ce qui veut dire q'aucun de tes if n'a été satisfait, et c'est absolument normal, parce que la fonction
choix.substring(0).equals(0)
compare 2 string et toi dans ton code une des parties est un int, (0,1,2)
met comme dit précedement '0' '1' '2' au pire "0" "1" "2"
Bon courage
Bonjour
Lorsque j'initialise rex a 0 il me retourne toujours 0 en effet je veux que rex prend le premier chiffre de la chaîne choix car la chaîne choix commence soit par 1,par 2 ou par 3 alors je veux que la méthode NumInterface retourne le chiffre convenable selon la chaîne !
mais selon mon code il me retourne toujours la valeur initialiser!!!?
Lorsque j'initialise rex a 0 il me retourne toujours 0 en effet je veux que rex prend le premier chiffre de la chaîne choix car la chaîne choix commence soit par 1,par 2 ou par 3 alors je veux que la méthode NumInterface retourne le chiffre convenable selon la chaîne !
mais selon mon code il me retourne toujours la valeur initialiser!!!?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si ta chaîne contient des caractères codés en ASCII, il faut que tu fasses tes comparaisons avec '0', '1', et '2', pas simplement avec 0,1 et 2.
Même remarque pour les valeurs retournées.
Es-tu sûr des valeurs avec lesquelles tu dois comparer ?
Même remarque pour les valeurs retournées.
Es-tu sûr des valeurs avec lesquelles tu dois comparer ?
Voila l'utilisateurs doit choisir entre ces trois chaines présenté dans un JOptionPane :
les trois chaines:
0: \Device\NPF_{42AC2526-6C26-4758-A92A-B69F5B828060}(Microsoft)
1: \Device\NPF_{88EAAC03-C30C-40C9-ABAC-1DAFC366BB10}(Microsoft)
2: \Device\NPF_{9968DDEE-36DF-42CF-9D16-5EFFBFBEB373}(Microsoft)
le rôle de la fonction NumInterface est de retourné soit 1 ,2 ou trois selon le choix de l'utilisateur donc j'ai utilisé substring pour récupérer le premier chiffre Y a-t-il une autre solution d'après vous pour retourner le numéro de la chaîne en entier ?!
les trois chaines:
0: \Device\NPF_{42AC2526-6C26-4758-A92A-B69F5B828060}(Microsoft)
1: \Device\NPF_{88EAAC03-C30C-40C9-ABAC-1DAFC366BB10}(Microsoft)
2: \Device\NPF_{9968DDEE-36DF-42CF-9D16-5EFFBFBEB373}(Microsoft)
le rôle de la fonction NumInterface est de retourné soit 1 ,2 ou trois selon le choix de l'utilisateur donc j'ai utilisé substring pour récupérer le premier chiffre Y a-t-il une autre solution d'après vous pour retourner le numéro de la chaîne en entier ?!