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

avec Java Discussion :

optimisation enregistrement des données


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Points : 37
    Points
    37
    Par défaut optimisation enregistrement des données
    Bonjour à tous,
    avec le programme suivant j'arrive à lire les données d'un fichier texte que j'enregistre ensuite dans 3 vecteurs v1x v1y et v1z.

    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
     
    import java.io.*;
    import java.util.*; // pour StringTokeniser
     
    public class Main {
     
    	public static void main(String args[]) throws IOException {
    		//création du tableau
    		ArrayList v1x= new ArrayList ();
    		ArrayList v1y= new ArrayList ();
    		ArrayList v1z= new ArrayList ();
    		// Lecture du fichier vitesse à t=0.5s
    		String nomfich;
    		double x, y, z;
    		nomfich = "U_0,5.txt";
    		BufferedReader entree = new BufferedReader(new FileReader(nomfich));
    		System.out.println("Nombres contenus dans le fichier " + nomfich + ":");
    		String ligneLue;
    		while ((ligneLue = entree.readLine()) != null) {
    			StringTokenizer tok = new StringTokenizer(ligneLue, " ");
    			if(tok.countTokens() == 3)
    			{
    				x = Double.parseDouble(tok.nextToken().replace("(", ""));
    				y = Double.parseDouble(tok.nextToken());
    				z = Double.parseDouble(tok.nextToken().replace(")", ""));
    				v1x.add(x);
    				v1y.add(y);
    				v1z.add(z);
    				//System.out.println(x + " " + y + " " + z);
    			}
    		}
     
    		entree.close();
    		System.out.println("vecteur vx1");
    		System.out.println(v1x);
    		System.out.println("vecteur vy1");
    		System.out.println(v1y);
    		System.out.println("vecteur vz1");
    		System.out.println(v1z);
    		System.out.println("fin liste fichier" + nomfich);
    }
    }
    j'aimerais savoir comment faire pour utiliser un seul tableau qui contiendrait les 3 coordonnées de vitesse??
    Merci davance

  2. #2
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Points : 955
    Points
    955
    Par défaut
    tu cree une classe Vitesse et tu fait
    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
     
    class Vitesse {
     
    private double x;
    private double y;
    private double z;
     
    //getter et setter
    }
     
    List<Vitesse> maliste = new Arraylist<Vitesse>();
     
    while (){
    Vitesse vitesse = new Vitesse();
    vitesse.setX();
    vitesse.setY();
    vitesse.setZ();
    maliste.add(vitesse);
    }
    Ce qu'on appelons le hasard n'est que notre incapacité à comprendre un degré d'ordre supérieur.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Points : 1 036
    Points
    1 036
    Par défaut
    Tu fais un objet avec trois attributs, et ensuite tu l'utilises comme tu veux. Dans un ArrayList si cela te fait plaisir.

    public class MonSuperObjet {

    Double x;
    Double y;
    Double z;

    public MonSuperObjet(Double ax, Double ay, Double az)
    {
    this.x = ax;
    this.y = ay;
    this.z = az;
    }

    }

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    merci pour vos réponses mais j'ai un pb avec la 1° méthode lorsque je fais les modifs comme indiqué j'ai le message d'erreur suivant:
    Exception in thread "main" java.lang.Error: Unresolved compilation problems:
    The method setX() is undefined for the type Vitesse
    The method setY() is undefined for the type Vitesse
    The method setZ() is undefined for the type Vitesse

    voici le programme utilisé:
    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
    43
    44
    45
    46
    47
    48
    49
    50
    import java.io.*;
    import java.util.*; // pour StringTokeniser
     
    public class Main {
    	public static void main(String args[]) throws IOException {
    		//création du tableau
    		ArrayList<Vitesse> maliste = new ArrayList<Vitesse>();
    		ArrayList v1x= new ArrayList ();
    		ArrayList v1y= new ArrayList ();
    		ArrayList v1z= new ArrayList ();
     
    		// Lecture du fichier vitesse à t=0.5s
    		String nomfich;
    		double x, y, z;
    		nomfich = "U_0,5.txt";
    		BufferedReader entree = new BufferedReader(new FileReader(nomfich));
    		Vitesse vitesse = new Vitesse();
    		System.out.println("Nombres contenus dans le fichier " + nomfich + ":");
    		String ligneLue;
    		while ((ligneLue = entree.readLine()) != null) {
    			StringTokenizer tok = new StringTokenizer(ligneLue, " ");
    			if(tok.countTokens() == 3)
    			{
    				vitesse.setX();
    				vitesse.setY();
    				vitesse.setZ();
    				x = Double.parseDouble(tok.nextToken().replace("(", ""));
    				y = Double.parseDouble(tok.nextToken());
    				z = Double.parseDouble(tok.nextToken().replace(")", ""));
     
    				maliste.add(vitesse);
    				v1x.add(x);
    				v1y.add(y);
    				v1z.add(z);
    				//System.out.println(x + " " + y + " " + z);
    			}
    		}
     
    		entree.close();
    		System.out.println("vecteur vx1");
    		System.out.println(v1x);
    		System.out.println("vecteur vy1");
    		System.out.println(v1y);
    		System.out.println("vecteur vz1");
    		System.out.println(v1z);
    		System.out.println("vecteurs vitesse");
    		System.out.println(vitesse);
    		System.out.println("fin liste fichier" + nomfich);
    }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class Vitesse {
     
    		private double x;
    		private double y;
    		private double z;
    }

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Points : 1 036
    Points
    1 036
    Par défaut
    Oui il faut implémenter les methodes get et set de ton objet.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    Je les ai généré et j'ai toujours le même message d'erreur, (dsl mais je dbute completement le java)


    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
    class Vitesse {
     
    		 double x;
    		 double y;
    		 double z;
    		public double getX() {
    			return x;
    		}
    		public void setX(double x) {
    			this.x = x;
    		}
    		public double getY() {
    			return y;
    		}
    		public void setY(double y) {
    			this.y = y;
    		}
    		public double getZ() {
    			return z;
    		}
    		public void setZ(double z) {
    			this.z = z;
    		}
    }

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    non c'est bon finalement j'avais fait une petite erreur

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    Nouveau problème (décidemment j'enchaîne^^) lorque je fais System.out.println(vitesse.x); je n'obtiens que la dernière valueur de x. Comment faire pour obtenir le vecteur x au complet?

    Je lis un fichier de la forme:
    (0.999526 0.000683934 0)
    (0.988978 0.00114476 0)
    (0.989125 0.00116963 0)
    (0.978545 0.00108715 0)
    (0.976956 0.0010352 0)
    (0.967307 0.00107407 0)
    (0.965573 0.00112086 0)
    (0.954734 0.00115024 0)
    (0.954267 0.00119086 0)
    (0.942636 0.00115778 0)

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/06/2006, 17h05
  2. [VB6]enregistrer des données dans un fichier
    Par tchinette42 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 19/04/2006, 18h55
  3. [HTML] Tableau pour l'enregistrement des données
    Par ghyosmik dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 01/11/2005, 15h28
  4. [Access] Enregistrer des données de type Texte RTF
    Par portu dans le forum Bases de données
    Réponses: 22
    Dernier message: 27/10/2005, 22h54
  5. Réponses: 7
    Dernier message: 20/03/2005, 14h53

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