SetText: Probleme conversion int - String
Résolu
Thom100588
Messages postés
2
Statut
Membre
-
Thom100588 Messages postés 2 Statut Membre -
Thom100588 Messages postés 2 Statut Membre -
Bonjour,
J'ai un petit souci qui commence petit à petit à me taper sur le système et je patauge un peu..
Lorsque je veux vider et réinitialisé les valeurs introduites dans mes différents champs, j'ai l'erreur suivante :
java.lang.NumberFormatException: For input string: "..."
Erreur logique etant donné que les valeurs dans mon fieldNum et fieldCp sont des valeurs entières.
Cependant je n'arrive pas à corriger celle ci... j'ai essayé via la fonction String.valueof(), mais je m'y prends sans doute mal..
Voici ci-dessous mon code.
Merci d'avance à ceux/celles qui prendront éventuellement le temps de m'aider :)
-------------------------------------
J'ai un petit souci qui commence petit à petit à me taper sur le système et je patauge un peu..
Lorsque je veux vider et réinitialisé les valeurs introduites dans mes différents champs, j'ai l'erreur suivante :
java.lang.NumberFormatException: For input string: "..."
Erreur logique etant donné que les valeurs dans mon fieldNum et fieldCp sont des valeurs entières.
Cependant je n'arrive pas à corriger celle ci... j'ai essayé via la fonction String.valueof(), mais je m'y prends sans doute mal..
Voici ci-dessous mon code.
Merci d'avance à ceux/celles qui prendront éventuellement le temps de m'aider :)
-------------------------------------
private class MonGestionnaireAction implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String n = fieldNom.getText();
String p = fieldPrenom.getText();
String jour = comboxJour.getSelectedItem().toString();
int jo = Integer.parseInt(jour);
String mois = comboxMois.getSelectedItem().toString();
int mo = Integer.parseInt(mois);
mo--;
String an = comboxAn.getSelectedItem().toString();
int ann = Integer.parseInt(an);
String r = fieldRue.getText();
String nu = fieldNum.getText();
int numero = Integer.parseInt(nu);
String c = fieldCp.getText();
int codeP = Integer.parseInt(c);
String l = fieldLoc.getText();
String telep = fieldTel.getText();
String m = fieldMail.getText();
int age = Calendar.getInstance().get(Calendar.YEAR) - ann;
String equi = comboxEquipe.getSelectedItem().toString();
if(e.getSource()==boutValid)
{
try
{
int id_e = pApp.getId_Equipe(equi);
Parrain parr = new Parrain(n,p,jo,mo,ann,r,numero,codeP,l,telep,m,id_e);
pApp.ajoutParrain(parr);
viderChamps();
JOptionPane.showMessageDialog(null,"Ajout effectué avec succès","Confirmation",JOptionPane.INFORMATION_MESSAGE);
}
catch(AjoutException a)
{
JOptionPane.showMessageDialog(null,a,"Erreur",JOptionPane.ERROR_MESSAGE);
}
catch(IdentificationException pi)
{}
catch(ListingException lE)
{
JOptionPane.showMessageDialog(null,lE,"Erreur",JOptionPane.ERROR_MESSAGE);
}
}
if(e.getSource()==boutVider)
{
fieldNom.setText("");
fieldPrenom.setText("");
fieldRue.setText("");
fieldNum.setText("");
fieldCp.setText("");
fieldLoc.setText("");
fieldTel.setText("");
fieldMail.setText("");
}
2 réponses
Tu pourrais remplacer Integer.parseInt par une méthode comme celle-ci :
private static int parseInt(String str, int defaut)
{
if (str==null)
return defaut;
try
{
return Integer.parseInt(str);
}
catch (NumberFormatException e)
{
System.err.println(e);
return defaut;
}
}
int jo = parseInt(jour,1);
int mo = parseInt(mois,1);
...