Java.lang.NullPointerException

Fermé
iness - 5 mai 2012 à 08:00
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 5 mai 2012 à 14:46
Bonjour,


Je viens d'effectuer un petit programme qui me permet de recuperer les donnees d'un fichier texte et de les sauvegarder dans une base de données. Cependant, au moment de la sauvegarde l'erreur suivante apparait : java.lang.NullPointerException.

Merci de m'aider au plus vite a résoudre ce petit problème.






Voici mon code :




import java.io.*;
import java.util.*;
public class Chance {

public static void main(String[] args) {
int k = 0,j=0;
double a=0.0, b=0.0;
// lecture du fichier texte
try {
InputStream ips = new FileInputStream("b.txt");
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
Matrice M=new Matrice();
while ((br.readLine()) != null) {
//System.out.println(ligne);


String[]element=br.readLine().split("#");
for ( int i=0 ; i<element.length ; i ++)
{
if (i==1)
{ //System.out.println(element[i]) ;

k=(int) Integer.parseInt(element[i]);
System.out.println(k) ;
}

if (i==2){
j=(int) Integer.parseInt(element[i]);
System.out.println(j) ;
}
if (i==3){
a=Double.parseDouble(element[i]);
System.out.println(a) ;
}


if (i==4){
b=Double.parseDouble(element[i]);
System.out.println(b) ;
}


}



M.remplir_Mat1(k,j,a,b);




}

br.close();
}

catch (Exception e) {
System.out.println(e.toString());
}
}



}



public class Matrice {

int i,j;
double content;
static double Mat1[][];
static double Mat2[][];



public void remplir_Mat1(int i, int j, double content, double content1)

{
Mat1[i][j]=content;
Mat2[i][j]=content1;

}




}















1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
5 mai 2012 à 14:46
Si tu n'avais pas enlevé l'affichage par défaut des exceptions tu aurais vu que l'erreur n'est pas là où tu l'indiques, mais ici :

public void remplir_Mat1(int i, int j, double content, double content1) 
{
	Mat1[i][j]=content; 
	Mat2[i][j]=content1; 
} 

Mat1 et Mat2 ne sont pas initialisés, il est donc impossible de faire quoique ce soit avec !

static double Mat1[][] = new double[???][???];
static double Mat2[][] = new double[???][???];

0