Java: problème de switch
velociraptor
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je suis en train de faire un programme remplaçant un caractère par une String mais j'ai un petit problème à ce niveau... Je m'explique:
Quand je fais un "a", un "A" ou une autre lettre, pas de problème mais par contre, "é", "à", "è" et tout les autres caractères accentués sont envoyés vers le "default" de mon switch ?!?
"switch" prend en compte les caractères sauf ceux qui sont accentués? je suis étonné!
Ne voulant pas rester les bras croisés devant ce problème, j'ai cherché à passer par l'intermédiaire d'un "if" et j'ai eu comme résultat qu'un caractère ne peut pas être déréférencé...
Voilà pourquoi je vous solicite! si vous pouvez m'expliquer pourquoi le witch me renvois les caractères accentués sur default, je vous en serai très reconnaisant!
je vous joins la partie du code utile:
Voilà!
Je vous remercie de toute l'aide que vous pourrez m'apporter,
cordialement,
alexandre
Je suis en train de faire un programme remplaçant un caractère par une String mais j'ai un petit problème à ce niveau... Je m'explique:
Quand je fais un "a", un "A" ou une autre lettre, pas de problème mais par contre, "é", "à", "è" et tout les autres caractères accentués sont envoyés vers le "default" de mon switch ?!?
"switch" prend en compte les caractères sauf ceux qui sont accentués? je suis étonné!
Ne voulant pas rester les bras croisés devant ce problème, j'ai cherché à passer par l'intermédiaire d'un "if" et j'ai eu comme résultat qu'un caractère ne peut pas être déréférencé...
Voilà pourquoi je vous solicite! si vous pouvez m'expliquer pourquoi le witch me renvois les caractères accentués sur default, je vous en serai très reconnaisant!
je vous joins la partie du code utile:
public static void modif(String val1) throws IOException
{
chaine="";
for(int i = 0; i < val1.length(); i++)
{
char en_cours = val1.charAt(i);
String carac = Activation(en_cours);
chaine+= carac;
}
String resultat ="resultat.txt";
FileWriter fw = new FileWriter(resultat);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter fichierSortie = new PrintWriter(bw);
fichierSortie.println(chaine);
fichierSortie.close();
System.out.println("Votre texte a ete modifié et se trouve dans un fichier texte!");
}
public static String Activation(char i) throws IOException
{
String j = "0";
switch(i)
{
case 'é': j = "1"; break;
case 'ç': j = "2"; break;
case '*': j = "3"; break;
case '+': j = "4"; break;
case 'F': j = "5"; break;
case 'G': j = "6"; break;
case 'H': j = "7"; break;
case 'I': j = "8"; break;
case 'l': j = "9"; break;
case 'm': j = "10"; break;
case 'n': j = "11"; break;
default: System.out.println("problème de caractère non référencé! fin du programme"); Au_revoir(); break;
}
return j;
}
Voilà!
Je vous remercie de toute l'aide que vous pourrez m'apporter,
cordialement,
alexandre
A voir également:
- Java: problème de switch
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
3 réponses
essaye de recuperer le code ascii du caractere et de mettre les code s ascii dans ton switch comme ca tu pourra verifier que
1- si tu recupere bien le bon caractere
2- ce qui se passe lors de l'evaluation
COIN!
1- si tu recupere bien le bon caractere
2- ce qui se passe lors de l'evaluation
COIN!