SetText: Probleme conversion int - String

Résolu/Fermé
Thom100588 Messages postés 2 Date d'inscription mardi 6 décembre 2011 Statut Membre Dernière intervention 6 décembre 2011 - 6 déc. 2011 à 13:33
Thom100588 Messages postés 2 Date d'inscription mardi 6 décembre 2011 Statut Membre Dernière intervention 6 décembre 2011 - 6 déc. 2011 à 15:26
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 :)

-------------------------------------
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

KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
6 déc. 2011 à 13:45
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);
...
1
Thom100588 Messages postés 2 Date d'inscription mardi 6 décembre 2011 Statut Membre Dernière intervention 6 décembre 2011
6 déc. 2011 à 15:26
Nickel, ca fonctionne :) Un grand merci ;)
0