IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Lire fichier pour creer une matrice


Sujet :

Langage Java

  1. #1
    Membre du Club Avatar de PKO06
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 91
    Points : 65
    Points
    65
    Par défaut Lire fichier pour creer une matrice
    Bonjour,
    Je souhaite lire un fichier pour créer un tableau à deux dimensions et stocker la taille de ce tableau.
    J'ai cree une classe matrice. Dans une autre classe une méthode constMat.
    Je suis bloquer je patauge, pourriez vous me dire si je vais sur la mauvaise voie ...

    methode:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    public static Matrice ConstMat(String path){
    			int tour=0;
     
    			int taille=0;
    			BufferedReader fichier;
    			try {
    				fichier = new BufferedReader(new FileReader(path));
    				try {
    					String ligne1;
    					ligne1=fichier.readLine();
    					taille=Integer.valueOf(ligne1);
    					Matrice mat1= new Matrice(taille);
    					while(fichier.read()!=-1){
     
    						if(tour!=0){
    							int i=0;
    							String ligne;
    							ligne=fichier.readLine();
    							StringTokenizer st= new StringTokenizer(ligne," ");
    							while (st.hasMoreTokens()){
    								int convert;
    								convert=Integer.valueOf(st.nextToken());
    								mat1.SetCell(convert,tour,i);
    								i++;
    							}
    						tour++;
    						}
     
    					}
     
    				} catch (NumberFormatException e) {
    					e.printStackTrace();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
     
    			} catch (FileNotFoundException e) {
    				e.printStackTrace();
    			}   
    			return mat1;
     
    	}
    classe Matrice:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class Matrice {
    	int _taille;
    	int[][] matrice;
    	public Matrice(int taille){
    		_taille=taille;
    		matrice=new int[taille][taille];
    	}
    	public void SetCell(int val, int row, int col){
    		matrice[row][col]=val;
    	}
    }
    Merci pour votre aide!

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Il est censé servir à quoi ton parce que là je ne vois pas comment il ne vas pas boucler indéfiniment sur tour=0 ....

    Au passage, respecter les conventions de nommage c'est bien !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Points : 675
    Points
    675
    Par défaut
    Tu devrais aussi regarder du cote de String.split(), au lieu de StringTokenizer.

  4. #4
    Membre du Club Avatar de PKO06
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 91
    Points : 65
    Points
    65
    Par défaut
    "tour" sert à renseigner la ligne de la matrice à remplir mais evidemment ca boucle à l'infini, je bloque avant c'est pour cela que je ne l'avais pas vu, je vais modifier merci.
    Mon premier problème est que lors du "return mat1;" j'ai le message mat1 cannot be resolved...

    Je cherche à remplir ma matrice avec en entrée ce fichier texte :
    5;
    0 6 7 1 10;
    6 0 4 2 8;
    7 4 0 7 0;
    1 2 7 0 0;
    10 8 0 0 0;

    La première ligne indique la taille de la matrice carrée.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2007
    Messages : 122
    Points : 126
    Points
    126
    Par défaut
    Salut,

    il faut que tu définisses ta matrice avant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    public static Matrice ConstMat(String path){
    			int tour=0;
    			int taille=0;
    			BufferedReader fichier;
                            Matrice mat1
    Java, c'est pas de la menthe à l'eau.. !!

  6. #6
    Membre du Club Avatar de PKO06
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 91
    Points : 65
    Points
    65
    Par défaut
    Je l'ai dejà fait mais lors du return c'est la meme chose il me dit que je n'ai pas initalisé.
    C'est comme si le fait que je change les attributs de Matrice dans le while ne porte que dans le while.

  7. #7
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Alors tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Matrice mat1 = null;

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2007
    Messages : 122
    Points : 126
    Points
    126
    Par défaut
    Effectivement, je n'avais pas fini d'écrire mon post et je l'ai mis en ligne..
    Il faut bien sûr l'initialiser :

    matrice mat1 = null;

    Java, c'est pas de la menthe à l'eau.. !!

  9. #9
    Membre du Club Avatar de PKO06
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 91
    Points : 65
    Points
    65
    Par défaut
    Merci,
    Vous m'avez apportez la solution pour ce qui me bloquait, maintenant suite de la chasse au bugs.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. besoin d'aide pour creer une matrice n*m
    Par mister_gold dans le forum Général Python
    Réponses: 6
    Dernier message: 20/11/2010, 12h32
  2. lire un fichier .txt comme une matrice
    Par Medoou dans le forum MATLAB
    Réponses: 9
    Dernier message: 27/07/2009, 09h40
  3. Lire un fichier pour importer une classe
    Par umeboshi dans le forum C++
    Réponses: 6
    Dernier message: 23/04/2009, 22h10
  4. Mkisofs - problème pour créer une image
    Par tomnie dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 04/08/2004, 11h44
  5. [PowerAMC] Comment s'en servir pour creer une base?
    Par Elmilouse dans le forum Access
    Réponses: 2
    Dernier message: 27/07/2004, 09h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo