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 :

[Debutant] Structure de programme


Sujet :

Langage Java

  1. #1
    Membre confirmé Avatar de mpascolo
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 64
    Par défaut [Debutant] Structure de programme
    Salut,

    Je symbolise un peu mon erreur ...
    En effet, je travaille sur 60 variables que je dois initialiser un bon nombre de fois dans mom programme ...

    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
    import java.io.*;
    import java.lang.*;
    import java.util.*;
     
    public class MainProgram
    {
    public static void main(String[] arg){
     
    int a, b, c, d, e;
    InitData();
     
    a = 3;
    b = 2;
     
    InitData();
    }
     
    void InitData()
    {
     
    a = 0;
    b = 0;
    c = 0;
    d = 0;
    e = 0;
    }}
    L'erreur est qu'il ne trouve pas ma variable NbLine dans ma procedure InitData...
    Je ne voudrais pas creer d'objet, a moins que ce ne soit deja fait ?

    Merci d'avance ...

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Par défaut
    Bon alors avec ma boule de cristal je dirais que tes variables sont détenues par le main et pas par la classe donc si tu appelle InitData().... il ne connait pas a,b,c... car étant définies dans le main...
    Mais bon sans plus d'info je peux me lourder

  3. #3
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Le bout de code que tu nous montre ne peut de toutes façon pas marcher cas initData() qui n'est pas static est appelé depuis un contexte static.

    Et sinon, à vue de nez, je dirai comme Marnor

  4. #4
    Membre confirmé Avatar de mpascolo
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 64
    Par défaut
    Je suis obligé de passer par deux classes pour ce code ?

    * Une qui contiendrait mes variables avec la methode InitData
    * Et l'autre contenant mon programme principal ...

  5. #5
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Pas du tout, tu peux éventuellement faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import java.io.*; 
    import java.lang.*; 
    import java.util.*;   
    public class MainProgram { 
    static int a, b, c, d, e;
     
    public static void main(String[] arg){   
    InitData();   a = 3; b = 2;   InitData(); 
    }   
     
    static void InitData() 
    {   a = 0; b = 0; c = 0; d = 0; e = 0; }
    Mais bon, la programmation objet c'est fait pour uriliser des objets, ce qui n'est pas le cas ici.
    Tu veux faire quoi exactement ? Tu as bien réfléchi à la conception avant ?


    PS : Dans le code que tu as donné au départ, le compilateur aurait du se plaindre aussi que des variables a b c d e n'étaient pas initialisées.

  6. #6
    Membre confirmé Avatar de mpascolo
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 64
    Par défaut
    C'est un peu plus compliké de ce que j'ai ecrit bien sur ...

    Je recupere des donnees qui sont dans un fichier .txt (il peut y a voir plusieurs fichiers .txt) dans un repertoire que je traite ensuite ligne par ligne.

    il y a 60 lignes = 60 variables (le probleme, c'est que parfois, il y a que 59 lignes d'ou l'obligation d'initaliser apres chaque fichier .txt traité)...

    Ensuite, j'insere ces donnees dans une base de donnees (PROCHAINE ETAPE ) puis j'initialise a nouveau mes variables avec InitData() ... Puis je passe au fichier suivant s'il y en a un...

    Dans ce cas ... a, b, c, d, etc. serait mes variables ...

    LA PROGRAMMATION OBJET AURAIT ELLE ETE PLUS JUDICIEUSE ?

  7. #7
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Pourquoi ne pas utiliser une collection genre HashMap pour te simplifier la vie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HashMap<String, Object>
    Avec String le nom de ta variable et Object sa value, ça ne srait pas plus simple ???

    De plus quel est la structure du fichier ?

  8. #8
    Membre confirmé Avatar de mpascolo
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 64
    Par défaut
    Voila par exemple un bout d'un fichier qui est donc organisé par ligne :

    Table:SpotDeals
    Amount1:-500000.00000
    Amount2:911700.00000
    BlockNumber:0
    BrokerageAmount:0.00000
    Brokers_Id:0
    CaptureDate:09/04/1998 12:19:09
    Table:Users
    Licence:33554432
    UsersGrp_Id:5793
    Users_Id:5824
    Tableairs
    Currencies_Id_1:247
    Currencies_Id_2:121
    Plus precisement, je recupere
    * la valeur qui se trouve avant le ":" qui correpond au Champ de la table dans la BDD sauf lorsque je tombe sur la valeur "Table" qui correspond au nom de la table.
    * la valeur qui se trouve apres le ":" qui correspond a la valeur du Champ (ou du nom de la table selon le cas).

    Je crois que le fait que "Table:" se repete rend impossible l'utlisation d'un HashMap, non ?

  9. #9
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Ben non... c'est possible d'utiliser une HashMap

  10. #10
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Citation Envoyé par thibaut
    Ben non... c'est possible d'utiliser une HashMap
    Ben non puisqu'il a une clef qui se répète.

  11. #11
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut
    au lieu de faire fichier par fichier, tu fais table par table et voila.

    Tu lis ta ligne, tu split au ':' et tu remplis ta map. Une fois que t arrives a une nouvelle table, tu rentres celle que tu viens de lire dans ta base, tu clear ta map, et tu continues.

    Et ça n'a rien à voir avec la programation par objet : si tu veux rendre tes variables globales a la classe, tu les déclares dans ta classe et pas dans une fonction de ta classe.

  12. #12
    Membre confirmé Avatar de mpascolo
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 64
    Par défaut
    Citation Envoyé par Faiche
    Tu lis ta ligne, tu split au ':' et tu remplis ta map. Une fois que t arrives a une nouvelle table, tu rentres celle que tu viens de lire dans ta base, tu clear ta map, et tu continues.
    .
    Bonne idee ca !!

    Ou je cree une map par table ...

    Merci en tout cas pour tous les conseils ...

  13. #13
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut
    Citation Envoyé par mpascolo
    Ou je cree une map par table ...
    ou tu ne fais surtout pas ça et tu utilises la meme a chaque fois.

    c'est la différence entre une appli a 20mo et une a 50ko

  14. #14
    Membre confirmé Avatar de mpascolo
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 64
    Par défaut
    Ok j'ai compris le truc ...

    Merci beaucoup !

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

Discussions similaires

  1. [débutant]Pb de structure du programme
    Par Tymk dans le forum C++
    Réponses: 7
    Dernier message: 03/07/2008, 08h56
  2. [debutant] structure d'un programme
    Par poukill dans le forum Débuter
    Réponses: 17
    Dernier message: 19/05/2006, 15h33
  3. [debutant]Executer un programme compilee sous cygwin
    Par Battosaiii dans le forum Windows
    Réponses: 4
    Dernier message: 16/10/2005, 15h37
  4. Font , Xml & structure de programme .
    Par Clad3 dans le forum XML
    Réponses: 11
    Dernier message: 30/03/2005, 22h45
  5. [Debutant] [Windows] livre programmation windows
    Par orelero dans le forum Windows
    Réponses: 8
    Dernier message: 11/02/2005, 13h32

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