2012-10-02 13 views
5
public String[][] fetchData() 
{ 
    String[][] data = null; 
    int counter = 0; 
    while (counter < 10){ 
     data[counter] = new String[] {"abc"}; 
     counter++; 
    } 
    return data; 
} 

Obteniendo el error en este ciclo. Por favor, hágame saber dónde estoy equivocadonull puntero excepción cadena 2d matriz en java

Respuesta

5

Tiene que asignar memoria a los datos.

String[][] data = new String[ROW][COLUMN]. 

Leer this

+0

Sweet handle! ¿De dónde sacaste la foto? ¿Esa es la portada del último libro? –

+0

@ Code-Guru Gracias :) http://bit.ly/PL9CrY Google images xD –

+0

@ Code-Guru Nope. Esta es la portada: http://www.tor.com/blogs/2012/05/michael-whelans-cover-for-a-memory-of-light-revealed –

2
String[][] data = null; 

==> tiene una excepción de puntero nulo cuando intenta escribir datos en

Es posible hacer

String[][] data = new String[10][]; 
+0

gracias ... que workd – user1714837

1

Se obtiene una NPE porque usted establece explícitamente data en null:

String[][] data = null; 

es necesario asignar el número de filas en primer lugar:

String[][] data = new String[][NUMBER_OF_ROWS]; 
1
data[counter] = new String[] {"abc"}; 

Aquí están poniendo "abc" a la matriz, pero ¿por qué estás usando matriz si tiene una sola célula ?

data[counter] = new String("sample string"); 

sería suficiente. Y de ofc también debe declarar "datos" como una matriz unidimensional.