Erreur Integer.Parseint

Signaler
Messages postés
27
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
29 juin 2012
-
 Utilisateur anonyme -
Salut, j'ai un probleme au nivau du Integer.Parseint comment faire. Meerci
A voir également:

6 réponses

Messages postés
27
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
29 juin 2012

ça me donne cette erreur: Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Module$1.tableChanged(Module.java:146)
at javax.swing.table.AbstractTableModel.fireTableChanged(Unknown Source)
at javax.swing.table.AbstractTableModel.fireTableCellUpdated(Unknown Source)
at javax.swing.table.DefaultTableModel.setValueAt(Unknown Source)
at javax.swing.JTable.setValueAt(Unknown Source)
at javax.swing.JTable.editingStopped(Unknown Source)
at javax.swing.AbstractCellEditor.fireEditingStopped(Unknown Source)
at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(Unknown Source)
at javax.swing.DefaultCellEditor.stopCellEditing(Unknown Source)
at javax.swing.JTable$GenericEditor.stopCellEditing(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(Unknown Source)
at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
25
Salut,

Tu passes quoi en paramètre ?

Il faut que ce soit un nombre compris dans l'intervalle [-2147483648, 2147483647].
Messages postés
600
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
8 juillet 2016
11
Salut,

ben la clairement c'est un string null qui est envoyé... vérifie le contenu de ta string avant de l'utiliser dans la méthode parseInt...

Visiblement tu récupères de ta JTable une valeur null que tu essayes de parser, d'où cette belle exception


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
Messages postés
27
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
29 juin 2012

J'ai essayé d'initialiser ma table à zéro mais j'ai toujours le meme probleme voila mon code:
table.getModel().addTableModelListener(new TableModelListener() 
{
public void tableChanged(TableModelEvent e)
{            
if (e.getType() != TableModelEvent.UPDATE) return;
int colonne = e.getColumn();
int nbColonnes = model.getColumnCount();
if ((colonne 0) || (colonne nbColonnes -1)) return;

int ligne = e.getFirstRow();


DecimalFormat forme = new DecimalFormat();

forme.setMaximumFractionDigits(2);

for (i = 1; i < nbColonnes-2; i++) {
try {
chaine = (String)model.getValueAt(ligne, i);
if (chaine != null) {
somme += Integer.parseInt(chaine);
//r= Integer.parseInt((String)model.getValueAt(ligne, nbColonnes-2));
nb++;
    
}
    }
    catch(NumberFormatException exc) {
    	Toolkit.getDefaultToolkit().beep();
     JOptionPane.showMessageDialog (null," Les notes doivent être des entiers.", "Erreur", JOptionPane.ERROR_MESSAGE);
System.out.println("Les notes doivent etre des entiers");
}
    
    
}
if (nb > 0)
//(String)model.getValueAt(ligne, nbColonnes-2));
{ String ch= (String)model.getValueAt(ligne, nbColonnes-2);
 if(ch!=null){
    r= Integer.parseInt(ch);
model.setValueAt(((somme/2) + r),ligne, nbColonnes-1);

}   
else model.setValueAt("",ligne, nbColonnes-1);
//listmoyenne.addElement(nb);
    
}
}
});	

Ok, as-tu vérifié déjà, lorsque tu as essayé, si tous les champs avaient bien une valeur égale à 0 ?

Sinon, je pense que c'est ta condition if(ch!null) qui est incomplète. J'ai un petit trou de mémoire pour ce qui est de la prise en compte de null ou "" (vide) chez Java avec les String, mais essaye déjà en agrandissant ta condition, comme par exemple : if( ch ! null && ! ch.equals("") )

--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)