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 :

Utilisation des packages


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 21
    Par défaut Utilisation des packages
    Bonjour,
    Après de nombreux essais et recherches en tous genre, je n'arrive toujours pas à utiliser les packages que je crée (je ne parle évidemment pas des packages de type java.io, java.swing ou autre, ceux-là je peux les importer sans problème).
    Pourtant je pense faire tout ce qu'il faut(j'ai lu une vingtaine de tutoriels sur la question): je déclare bien tous les packages en haut du fichier source .java, j'importe bien mes classes:Un exemple de ce que je fait serait:

    package projet.jeu.terrain;
    import projet.jeu.balle;
    public class Point{....

    .. et à chaque fois que je compile, énormément d'erreurs s'affichent.
    Mon programme ne fonctionne que si tous les fichiers sources sont dans le même répertoire et que je n'indique aucun package.( c'est à dire que je ne mets pas cette fameuse première ligne en haut du fichier).
    Je pense que le problème n'est pas dans les codes, mais alors d'où vient-il, peut-être une configuration que j'ai mal faite?
    Aidez-moi s'il vous plait parce que je dois maintenant réaliser un projet de plus grande taille, et je ne vais pas pouvoir garder toutes mes classes dans un seul répertoire, ça serait vraiment trop brouillon et fastidieux.
    merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 43
    Par défaut
    package projet.jeu.terrain;
    import projet.jeu.balle;
    public class Point{ ...

    implique que
    Point.java est dans le répertoire projet/jeu/terrain
    ton import est étrange. Si balle est une classe alors la syntaxe est bonne (néanmoins il est préférable de renommer ta classe Balle, par convention), toutefois si projet.jeu.balle est un package la syntaxe pour importer toutes les classes qu'il contient est 'import projet.jeu.balle.*'.

    Si tu as toujours des erreurs. Postes quelques classes au hasard, la hiérarchie des répertoires, et la façon dont tu compiles.

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    et surtout, les message d'erreur

    en suivant ton code, pour compiler Point, il faudrait tapper

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac projet/jeu/terrain/Point.java

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Par défaut
    Tu utilises la console Windows pour compiler tes programmes?

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 21
    Par défaut
    merci avant tout pour vos réponses, et désolée de ne pas avoir répondu plus tôt..effectivement mes exemples n'étaient pas très malins..
    du coup je suis repartie de zéro en reprenant les exemples du cours de mon prof du début d'année et en suivant méticuleusement ce qu'il nous disait de faire. Lui disait donc de créer deux répertoires un src , un autre lib et dans chacun des deux mettre les mêmes répertoire "cours" et "jbook". "cours contient "sw07" et "util" tandis que jbook contient "util" et "examples". Le fichier java à compiler est MultiplyBySum_02.java et il se sert de la classe Input lui-même contenu dans le "util" de "jbook".(j'espère que je suis assez claire!)

    voilà le code de MultiplyBySum_02.java(je poste tout, même si le code ne nous interesse pas, j'ai traduit les premiers commentaires de mon prof pas le reste- je fais mes études en italie):

    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
    51
    52
    53
    // definition package. S'il n'est pas défini, il est défini "unnamed"
    package corso.sw07;
     
    // importe la classe Input 
    import jbook.util.Input;
     
    /**
     * Questo programma moltiplica due numeri interi maggiori o uguali a zero 
     * sommando il moltiplicando tante volte quanto il moltiplicatore
     * @version 1.1 2008-10-21
     * @author Antonio Messina
     */
     
    public class MultiplyBySum_02 // dichiarazione di classe pubblica
    {
        public static void main(String args[])
        {
            int moltiplicando;   // dichiarazione variabile tipo int
            // assegnazione da metodo classe Input
            moltiplicando = Input.readInt("Fornisci moltiplicando \n");   
    //        moltiplicando = jbook.util.Input.readInt("Fornisci moltiplicando \n");   
            int moltiplicatore;   // dichiarazione variabile tipo int
            // assegnazione da metodo readInt della classe Input
            moltiplicatore = Input.readInt("Fornisci moltiplicatore \n");   
    //        moltiplicatore = jbook.util.Input.readInt("Fornisci moltiplicatore \n");   
            int somma;    // dichiarazione variabile tipo int
            int zero = 0;    // dichiarazione e assegnazione variabile tipo int
            String avviso;    // dichiarazione variabile tipo String
            avviso = new String("\n" + "!!! Prodotto per somma !!!" + "\n"); // assegnazione variabile tipo String
            System.out.println(avviso);
     
            if (moltiplicando == zero || moltiplicatore == zero) // se uno dei termini e' nullo
            {
                somma = 0;
            }
            else
            {           
                // inizializzazione variabili ciclo ed effettuazione ciclo
                somma = 0;
                int count = 0;
                while (count < moltiplicatore)
                {
                    somma = somma + moltiplicando;
                    count++;
                }
            }
            // stampa risultati
            System.out.println("\n moltiplicando = " + moltiplicando + 
                "; moltiplicatore = " + moltiplicatore + "\n");
            System.out.println("!!! moltiplicazione per somma = " + 
                somma + " !!!" + "\n");
        }
    }

    voici le code de Input.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
    package jbook.util;
     
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.IOException;
    import java.util.Vector;
     
    /** 
        Una semplice classe per leggere stringhe e numeri 
        dallo standard input.
    */
     
    public class Input{.... 
    }
    là je ne poste pas tout car le code est trop long. pour résumer la classe remplace la classe Scanner(c'était pour simplifier, pour les débutants comme moi! )
    et donc quand je compile MultiplyBySum_02.java (même en ayant compilé au préalable Input.java), cela me donne comme erreurs:

    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
    %USERPROFILE%\Bureau\src\corso\sw07> javac MultiplyBySum_02.java
    MultiplyBySum_02.java:5: package jbook.util does not exist
    import jbook.util.Input;
                     ^
    MultiplyBySum_02.java:20: cannot find symbol
    symbol  : variable Input
    location: class corso.sw07.MultiplyBySum_02
            moltiplicando = Input.readInt("Fornisci moltiplicando \n");   
                            ^
    MultiplyBySum_02.java:24: cannot find symbol
    symbol  : variable Input
    location: class corso.sw07.MultiplyBySum_02
            moltiplicatore = Input.readInt("Fornisci moltiplicatore \n");   
                             ^
    3 errors
    Process javac exited with code 1
    voilà, donc je ne pense pas que l'erreur vienne du prof! , donc ça ne peut venir que de moi ou de ma configuration. J'ai entendu parler de CLASSPATH, moi je l'ai fait pointer sur mon jdk, serait-ce de là que vient le problème?

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu dois te mettre dans le répertoire %USERPROFILE%\Bureau\src et tapper

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac corso\sw07\MultiplyBySum_02.java
    ceci en supposant que tu a bien un src/jbook/util/Input.java

Discussions similaires

  1. Utilisation des packages
    Par magboom dans le forum SQL
    Réponses: 4
    Dernier message: 14/08/2007, 10h12
  2. Réponses: 1
    Dernier message: 24/05/2007, 15h32
  3. Réponses: 2
    Dernier message: 07/11/2006, 10h34
  4. Utiliser des packages ou des classes présents sur le net
    Par lionrouge dans le forum Général Java
    Réponses: 2
    Dernier message: 27/09/2006, 06h09
  5. [CR] Utilisation des package Oracle ??
    Par sboober dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 06/12/2004, 07h37

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