3 pièce(s) jointe(s)
Question Remplissage Tableau de Structure de données
Bonjour,
J'ai suis entrain de développer une petite application Java.
Le question d'aujourd'hui est sur le correcte méthode de l'initalisation d'un tableau.
En fait, je dispose d'une méthode qui permet d'inserer des valeurs à l'intérieur d'un tableau de structure des "Rubrique " sachant qu'une rubrique à la structure suivante
Code:
1 2 3 4 5 6
| public class Rubrique {
public String name;
public String Gpe;
public String Valeur;
public String Valeur; |
quand je remplis ce tableau de structure et je l'affiche à l'interieur de la meme boucle de remplissage les valeurs inséres sont affiché mérveilleusement.
Mais quand je veux afficher ce meme tableau dans une autre fonction Affiche_Structure il me renvoie une excpetion Null Pointer.
Ci-dessous le code de cette classe
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
public class BandeLoader {
private String id;
//à changer l'initialisation apres
private String Tab_SsGpe[] = new String[100000];
private Rubrique Tab_SsRub[]=new Rubrique[10000];
public String ToReadFile(String Path)
{
String chaine="";
//String Output_File="fichier2";
//lecture du fichier texte
try{
InputStream ips=new FileInputStream(Path);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
int i=0;
int index_Sep;
int index_fin;
while ((ligne=br.readLine())!=null){
//System.out.println(ligne);
chaine+=ligne+"\n";
String Groupe_Name=ligne.substring(0,10);
Tab_SsGpe[i]=Groupe_Name;
index_Sep=ligne.indexOf(",");
index_fin=ligne.indexOf("'", index_Sep+3);
Tab_SsRub[i] = new Rubrique();
Tab_SsRub[i].setName(ligne.substring(0, index_Sep));
Tab_SsRub[i].Gpe=Groupe_Name;
Tab_SsRub[i].Valeur=ligne.substring(index_Sep+2, index_fin);
System.out.println("Tab_SsRub["+i+"].name: "+Tab_SsRub[i].name);
System.out.println("Tab_SsRub["+i+"].Gpe: "+Tab_SsRub[i].Gpe);
System.out.println("Tab_SsRub["+i+"].Valeur: "+Tab_SsRub[i].Valeur);
System.out.println("index_Sep: "+index_Sep);
System.out.println("index_fin: "+index_fin);
System.out.println("Tab_SsGpe["+i+"]:"+Tab_SsGpe[i]);
i++;
}
br.close();
}
catch (Exception e){
System.out.println(e.toString());
}
return chaine;
}
public void Affiche_Structure(){
for(int t=0;t<Tab_SsGpe.length;t++)
{ System.out.println(Tab_SsRub[t].name);
System.out.println("Tab_SsRub["+t+"].Gpe"+Tab_SsRub[t].Gpe);
System.out.println("Tab_SsRub["+t+"].Valeur: "+Tab_SsRub[t].Valeur);}
}
public static void main(String[] args)
{
BandeLoader Test = new BandeLoader();
String Chaine =Test.ToReadFile("Bande AED.txt");
//Test.Affiche_Structure();
}
} |
Résultat à de tableau à l’intérieur de la boucle d'affichage
Pièce jointe 140508
résultat à l'extérieur quand j'enléve le commentaire ligne 74
Pièce jointe 140510
et voila le fichier txt de laquelle j'extrait Pièce jointe 140511
SVP SVP veillez m'aider. Je suis sure que c un problème simple mais que j'arrive pas le comprendre.
Merci d'avance.