# NullPointerException



## dadon511 (4. April 2007)

Hallo!

Ich brauche die Daten aus JTable für weitere Berechnungen. Wenn eine Zelle der Tabelle leer ist, wird eine NullPointerException geworfen, dabei will ich genau das abfangen.
Das kommische ist, dass meine methode perfekt funktioniert, wenn die Daten der Tabelle aus einer csv-Datei importiert werden.

Hilfe


```
public void tabellePruefen()
    {        
        boolean abbruch = false;
        double inhaltx = 0, inhalty = 0;
        
        int row = tableModel.getRowCount();
        xWerte = new double[row];
        yWerte = new double[row];
        int i;
        while(ok == false)
        {
        for (i = 0; i < row ; i++) 
        {
            if (tabelle.isEditing())
            {
                tabelle.getCellEditor().stopCellEditing();
            }
            
            String x = tableModel.getValueAt(i,1).toString();
            String y = tableModel.getValueAt(i,2).toString();
            if(x.length()==0 || y.length()==0)
            {       
                JOptionPane.showMessageDialog(panelGebundeneHochrechnung, "Bitte alle Zellen der Tabelle ausfühlen!", 
                                                                                            null, JOptionPane.ERROR_MESSAGE, null );
                abbruch = true;
                
            }
            if (abbruch == false)
            { 
                try
                {        
                    xWerte[i] = Double.parseDouble(x.replace(',','.'));
                    yWerte[i] = Double.parseDouble(y.replace(',','.'));
                }
                catch(NumberFormatException error)
                    {
                        JOptionPane.showMessageDialog( panelGebundeneHochrechnung, "Bitte nur Zahlen in die Tabelle eintragen!", 
                                                                                null, JOptionPane.ERROR_MESSAGE, null );
                        abbruch = true;
                    }
            }
      }
        if(abbruch == true)
        {
            break;
        }
       
            ok = true;
        }
    }
```


----------



## DarthShader (4. April 2007)

Passiert das bei " String x = tableModel.getValueAt(i,1).toString();" ? Dann ist "toString" das Problem, denn "tableModel.getValueAt(i,1)" gibt "the value Object at the specified cell" (laut Java Doc) zurück, ist das null, wird "toString" auf nichts angewendet, und daraus folgt eine NullPointerException.

Zuerst also den Wert holen, schauen ob Null zurückgegeben wurde, und falls nicht, weiter mit "toString" arbeiten.


----------



## dadon511 (5. April 2007)

Hallo!

Habe es jetzt so gemacht:

```
for(int i = 0; i < row; i++)
            {
                Object x = tableModel.getValueAt(i, 1);
                Object y = tableModel.getValueAt(i, 2);
                if(x == null || y == null)
                {
                    JOptionPane.showMessageDialog(panelGebundeneHochrechnung, "Bitte alle Zellen der Tabelle ausf\374hlen!", null, 0, null);
                    abbruch = true;
                }
```

Ist es ok?


----------

