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 :

Problème compilation ..


Sujet :

Langage Java

  1. #1
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut Problème compilation ..
    Bonjour !


    Pour les besoins de ma formation de Technicien en Développement d'Applications Informatiques, je m'entraîne un peu au codage avec Java. Dans le petit exercice que je me fait soit, l'écriture sur fichiers et par la suite la lecture en enregistrant le contenu d'objets, je me retrouve avec un petit problème.

    Je sais qu'on peut créer plusieures class (d'après mes cours) dans le même fichier dont également plus d'une peuvent biensûr avoir une fonction main mais comment ?

    Voici mon petit code:
    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
    import java.io.*;
     
     
    class Produit {
     
       String name;
       int id;
       int quantities;
     
     
       public void Produit (String name, int id, int quantities) {
          this.name         = name;
          this.id           = id;
          this.quantities   = quantities;
       }
     
       public void Write () throws IOException {
          FileWriter fw     = new FileWriter ("Produits.txt");
          BufferedWriter bw = new BufferedWriter (fw);
          PrintWriter pw    = new PrintWriter (bw);
     
          pw.println (this.name + ";" + this.id + ";" + this.quantities);
          pw.close ();
       }
     
    }
     
     
    class ProduitWriter {
     
       public static void main (String [] args) {
          Produit p1 = new Produit ("Linux Ubuntu Dapper Drake", 606, 5);
          p1.Write ();
       }
     
    }
    Mais je me retrovue avec cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    franhec@franhec-ubuntu:~/Programmation/Java$ javac Produit.java
    Produit.java:32: cannot find symbol
    symbol  : constructor Produit(java.lang.String,int,int)
    location: class Produit
          Produit p1 = new Produit ("Linux Ubuntu Dapper Drake", 606, 5);
                       ^
    1 error
    Comment faire ?

    J'ai bien regardé et il m'a tout de même bien créé le fichier Produit.class mais il ne veut pas me créer un fichier pour la class ProduitWriter !


    Merci
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  2. #2
    Membre éprouvé Avatar de BlackWood
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Par défaut
    Bonjour !

    Normal, tu n'a pas de constructeur Produit !
    Tu as en revanche la méthode "void Produit()".
    Il n'y a pas de type devant un constructeur, soit :
    public Produit(args)

    Note : certes, il est possible d'inclure plusieurs classes dans un même fichier, mais bon, ce n'est pas trés conseillé...

  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par BlackWood
    Bonjour !

    Normal, tu n'a pas de constructeur Produit !
    Tu as en revanche la méthode "void Produit()".
    Il n'y a pas de type devant un constructeur, soit :
    public Produit(args)
    Ok c'est donc pour ca qu'il ne me l'a pas pris comme un constructeur alors, donc il ne voyait pas l'utilité de new .. mouais, déjà une erreur que je ferais plus

    Citation Envoyé par BlackWood
    Note : certes, il est possible d'inclure plusieurs classes dans un même fichier, mais bon, ce n'est pas trés conseillé...
    Je te le concède mais c'etait juste pour l'exercice c'est tout


    Merci bien
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  4. #4
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Sinon, les méthodes doivent commencer par une minuscule, donc write() et non Write()

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par ®om
    Sinon, les méthodes doivent commencer par une minuscule, donc write() et non Write()
    Mouais, en fait je pensais que c'était uniquement pour les identifiants possédant plus d'un mot qu'on devait commencer par une minuscule

    Issu du monde C (plus de 4 ans) j'ai encore un peu de mal à me faire à ce langage
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Humm ayant commencé par C puis C++, il me semble qu'en C++ les normes sont les quasiment les mêmes, une classe commence par une maj et un attribut/variable commence par une min.
    En C, c'est un peu différent, les "_" avant les noms de variables, tout en minuscule etc...

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par iohack
    Humm ayant commencé par C puis C++, il me semble qu'en C++ les normes sont les quasiment les mêmes, une classe commence par une maj et un attribut/variable commence par une min.
    Ok merci

    Citation Envoyé par iohack
    En C, c'est un peu différent, les "_" avant les noms de variables, tout en minuscule etc...
    Pas recommandé, en fait les identificateurs commençant par "_" sont souvent réservés pour les bibliothèques, en générale, on met tout en minuscule et on sépare chaque mot par "_" mais là encore c'est suivant les goûts de chacun, certains mettent en forme leur code suivant les règles de la POO.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

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

Discussions similaires

  1. [VB5] Problème compilation, ocx manquants
    Par rastali dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/10/2005, 14h39
  2. [Kylix] Problème de compilation
    Par rabbi_jaccob dans le forum EDI
    Réponses: 3
    Dernier message: 25/07/2005, 23h36
  3. Problème compilation (toolkit Maximum Entropy)
    Par yannick_frere dans le forum MFC
    Réponses: 4
    Dernier message: 07/03/2005, 09h47
  4. Problème compilation Version 8.0.1 sous Debian Sarge
    Par LIndien dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 04/02/2005, 21h38
  5. [Kylix] problème compilation kylix3 avec redhat 9.0
    Par madininaoursa dans le forum EDI
    Réponses: 1
    Dernier message: 02/07/2003, 16h21

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