probleme pour lire accents avec un objet Scanner
Bonjour,
Je n'arrive pas à recuperer, depuis la console cmd, les caracteres accentués. par exemple si je rentre "é", il me dit qu'il a pris "?".
Voici le type d'objet crée:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| public class Mois
{
public String nomMois;
public int numeroMois;
public void MiseAJourNom()
{
if (nomMois.equals("juin"))
{
nomMois = "JUIN";
}
}
public void MiseAJourNumero()
{
if (nomMois.equals("juin"))
{
System.out.println("Passe en A");
numeroMois = 6;
}
else
System.out.println("Passe en B");
}
public void MiseAJourAccents()
{
nomMois = nomMois.replaceAll("è","e");
nomMois = nomMois.replaceAll("é","e");
nomMois = nomMois.replaceAll("ê","e");
nomMois = nomMois.replaceAll("ë","e");
nomMois = nomMois.replaceAll("û","u");
nomMois = nomMois.replaceAll("ù","u");
nomMois = nomMois.replaceAll("ï","i");
nomMois = nomMois.replaceAll("î","i");
nomMois = nomMois.replaceAll("à","a");
nomMois = nomMois.replaceAll("â","a");
}
} |
et voici mon code principal:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| import java.util.*;
import java.text.Normalizer;
public class MoisMots
{
public static void main(String[] args)
{
// declarer les varaibles mois,annee,jourDansMois, rajout de MoisMotsInitial
Mois moisDuProgramme = new Mois();
String MoisMots = new String();
// creer le scan
Scanner scanClavier = new Scanner(System.in,"UTF-8");
// demander la saisie du mois
System.out.println("Saisir un mois en lettres svp :");
// enregistrer la saisie
moisDuProgramme.nomMois = scanClavier.nextLine();
System.out.println("avant transfo le mois est :"+moisDuProgramme.nomMois);
moisDuProgramme.MiseAJourAccents();
System.out.println("apres transfo le mois est :"+moisDuProgramme.nomMois);
moisDuProgramme.MiseAJourNumero();
}
} |
Ca me donne:
Saisir un mois en lettres svp :
é
avant transfo le mois est : ?
apres transfo le mois est : ?
Pourriez vous m'aider svp ?
Merci
Cedric