Programmation java:Exception in thread "AWT-E

harizon007 Messages postés 21 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour, jai cette exeption qui m'affiche quand je veut parser un string en entier.
et pourtant je saisie entier dans le text field de ma fenetre
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
le code

if (e.getSource()==BAjouter) {
String Snom=nomEdit.getText().trim();
String Sprenom=nomEdit.getText().trim();
String Sage=ageEdit.getText();

/* if (!Snom.isEmpty() && !Sprenom.isEmpty() && !Sage.isEmpty()){*/
try {
Employe objEmp =new Employe(nomEdit.getText().trim(),prenomEdit.getText().trim(),Integer.parseInt(ageEdit.getText()));
listeEmp.addEmploye(objEmp);

merci pour aide:
je cherche depuis plusiers jours son succé.

A voir également:

2 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Tu devrais filtrer l'exception :

int convertir(String s, int defaut)
{
    try
    {
        return Integer.parseInt(s);
    }
    catch (NumberFormatException e)
    {
        System.err.println(e);
        return defaut;
    }
}


Remarque : tes trim() ne servent pas à grand chose si tu ne t'en sers pas...

if (e.getSource()==BAjouter)
{
    String Snom=nomEdit.getText().trim();
    String Sprenom=nomEdit.getText().trim();
    String Sage=ageEdit.getText();

    int age = convertir(Sage,-1);
    if (age>=0)
    {
        Employe objEmp =new Employe(Snom,Sprenom,age);
        listeEmp.addEmploye(objEmp);
    }
}
0
harizon007 Messages postés 21 Statut Membre
 
J'ai toujour le meme probleme
java.lang.NumberFormatException: For input string: ""
Erreur de saisie

j'ai fait un system.out
Il M'affiche qu'IL a pris un entier. quand j'ajoute a ma liste une autre personne avec les memes donneé. il affiche erreur du faite qu'un employe de ces meme valeurs existe déja.
donc pourquoi il pointe sur cette erreur
Jai ajouté a ton code
int convertir(String s, int defaut)
{
try
{
return Integer.parseInt(s);
}
catch (NumberFormatException e)
{
System.err.println(e);
System.out.println("Erreur de saisie");
return defaut;
}
}

il m'affiche toujour le meme scénarion

java.lang.NumberFormatException: For input string: ""
Erreur de saisie

Merci pour votre réponse
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Il faut que tu enlèves le System.err.println(e) si tu ne veux pas avoir le message, mais l'exception ne devrait plus être levée. Et tu devrais donc obtenir la valeur par défaut (-1 dans mon code)
0