"java.lang.NullPointer.Exception[Non resolu]
Résolu
maladeMathal
Messages postés
2
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
voila je dois lire un texte , recuperer 1 ligne sur 2 du texte en un tableau de caractere.
J'essaye de récupere tout le texte dans un tableau de caractère puis copier une ligne sur 2 tableau dans un autre tableau qui sera mon tableau final
le probleme les lignes n'ont pas toutes la meme taille , mais les ligne que je veux retenir elles ont la même taille
du coup je me retrouve avec l'erreur, je pense qu'elle du fait des difference des tailles de ligne
A l'aide
char [][] tab = new char [11286][]; // tableau dans lequel on veut stocker le texte caractère par car de chaque ligne
char [][] tab2 = new char[5632][48]; // tableau dans lequel on veut stocker nos proteines
try{
BufferedReader br=new BufferedReader(En);
while ((ligne=br.readLine())!=null){
if(ligne.toCharArray().length!=48){
car = (48-ligne.toCharArray().length);
for(j=0;j<11286;j++){
for(k=0;k<48;k++){
tab[k][j]=ligne.toCharArray()[j];
char [] tab3 = new char[car];
}}
}
}
br.close();
}
catch (Exception e){
System.out.println(e.toString());
}
J'essaye de récupere tout le texte dans un tableau de caractère puis copier une ligne sur 2 tableau dans un autre tableau qui sera mon tableau final
le probleme les lignes n'ont pas toutes la meme taille , mais les ligne que je veux retenir elles ont la même taille
du coup je me retrouve avec l'erreur, je pense qu'elle du fait des difference des tailles de ligne
A l'aide
char [][] tab = new char [11286][]; // tableau dans lequel on veut stocker le texte caractère par car de chaque ligne
char [][] tab2 = new char[5632][48]; // tableau dans lequel on veut stocker nos proteines
try{
BufferedReader br=new BufferedReader(En);
while ((ligne=br.readLine())!=null){
if(ligne.toCharArray().length!=48){
car = (48-ligne.toCharArray().length);
for(j=0;j<11286;j++){
for(k=0;k<48;k++){
tab[k][j]=ligne.toCharArray()[j];
char [] tab3 = new char[car];
}}
}
}
br.close();
}
catch (Exception e){
System.out.println(e.toString());
}
A voir également:
- "java.lang.NullPointer.Exception[Non resolu]
- Résolution non prise en charge modifier la résolution du périphérique externe ✓ - Forum Format et connectique vidéo
- Problème curseur souris incontrolable résolu ✓ - Forum Windows 10
- Resolution non prise en charge ✓ - Forum TNT / Satellite / Réception
- Panne chromecast résolu - Guide
- Problème de connexion HDMI ( mode non pris en charge ) - Forum Samsung
2 réponses
C'est bizarre de faire du Java comme on ferait du C...
Tu devrais virer tes char[][] et utiliser des List<String> à la place.
De plus regarde comment fonctionne la classe Scanner ça simplifie énormément la lecture d'un fichier contrairement au BufferedReader qui est très bas niveau...
Remarque : le NullPointerException vient du fait que tu utilises tab[k][j] alors que le tableau tab[k] n'existe pas vu qu'il n'a pas été initialisé.La confiance n'exclut pas le contrôle
Tu devrais virer tes char[][] et utiliser des List<String> à la place.
De plus regarde comment fonctionne la classe Scanner ça simplifie énormément la lecture d'un fichier contrairement au BufferedReader qui est très bas niveau...
Remarque : le NullPointerException vient du fait que tu utilises tab[k][j] alors que le tableau tab[k] n'existe pas vu qu'il n'a pas été initialisé.La confiance n'exclut pas le contrôle
Merci mais dans ce cas la comment je fait pour stocker ma ligne avec la classe scanner
Le Scanner n'est pas fait pour stocker les lignes mais pour les lire.
Pour le stockage utilise une liste.
Pour le stockage utilise une liste.
List<String> list = new ArrayList<String>();
File file = new File("toto.txt");
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) {
String line = sc.nextLine();
list.add(line);
}
sc.close();
//System.out.println(list);