Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

saisie des données avec java en mode console


rimbaut

Messages recommandés

Bonsoir à tous,

 

Je m'initie à java, et ce langage est essentiellement axé sur le concept d'interface graphique. Dans ce type d'environnement, la saisie de données est gérée par des fenêtres de dialogues.

 

Cependant afin de bien comprendre le langage, je souhaite pour l'instant utilisé un environnement non graphique.

 

La fonction System.in.read() permet de récupérer un et un seul caractère. Pour récupérer des chaines de caractères j'ai en ma possession des fonctions de lecture.

 

La question que je me pose est de savoir comment utiliser ces fonctions dans un programme; faut-il utiliser

import.NomDeLaFonction ou procéder autrement ?

 

Est ce que le fichier contenant le code des fonctions doit il être mis dans le même répertoire que celui où je sauvegarde le source de mon programme ?

 

Je ne sais si j'ai été assez claire !!

 

Merci pour votre aide

Lien vers le commentaire
Partager sur d’autres sites

Si tu n'utilises par "import" tu vas devoir à chaque fois donner le nom complet de la méthode que tu appelles (package.classe.methode), alors qu'avec l'import, tu peux te contenter de donner le nom de la classe (c'est beaucoup plus concis et clair !)

 

Le "fichier" (package) contenant la classe et/ou la méthode que tu appelles doit être dans le Classpath. Quant aux sources, elles peuvent être situées n'importe où, elles ne sont pas nécessaires à l'exécution du code.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour KewlCat, bonjour à tous,

 

Dans ta réponse tu dis que le fichier contenant la classe doit être situé dans le classpath. J'ai défini le classpath dans les variables d'environnement comme suit :

 

r5s1lvy.jpg

 

Javac me semble correctement installé, puisque que quand je fais un shell voici ce qui ressort :

 

b3stcpu.jpg

 

 

Quand je compile un fichier, il me ressort l'erreur suivante : " cannot read "

 

Merci pour ton aide et à tous ceux qui m'aident

Lien vers le commentaire
Partager sur d’autres sites

Euh... Ton CLASSPATH ressemble plutôt à ce que devrait valoir JAVA_HOME, donc ce n'est pas bon. CLASSPATH doit au minimum pointer sur le répertoire contenant rt.jar (donc %JAVA_HOME%/lib), à toi d'y ajouter les répertoires où tu comptes stocker tes packages (si tu as l'intention d'en créer).

Javac est bel et bien dans le PATH, donc pas de souci de ce côté-là, mais je ne comprends pas "cannot read" : il n'y a pas d'autre détail avec ce message d'erreur ?

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

J'ai modifié le classpath comme suit :

 

hfvemj5.jpg

 

Donc si je comprends bien je dois sauvegarder les fonctions que je crée dans le repertoire " c:\Program Files\Java\mesClasses " ??

 

Par ailleurs est ce bon d'avoir intaller java dans Program Files ? Ne faut il pas plutôt le mettre directement à la racine " c:\java "

 

Merci pour ta patience

Lien vers le commentaire
Partager sur d’autres sites

Attention, le Classpath doit pointer vers le répertoire contenant rt.jar, pas sur rt.jar !

 

Peu importe où tu as installé Java du moment que JAVA_HOME est correct.

Tu ne dois sauvegarder les "fonctions" que tu crées à un certain endroit que si tu as décidé de les séparer de ton package principal (c'est à dire si tu crées un package indépendant). Si toutes tes classes font partie du même package, tu n'as pas à te soucier de ce détail.

 

A priori tu n'as pour l'instant qu'un seul et unique fichier Java avec une seule et unique classe, je me trompe ?

Lien vers le commentaire
Partager sur d’autres sites

Non, tu ne trompes pas, je n'ai qu'un seul fichier avec une seule classe. Pour en revenir au classpath, je dois donc au préalable créer le repertoire rt. jar et ensuite j'indique le chemin dans le classpath ??

 

Est ce que je peux créer le repertoire rt.jar n'importe où, par exemple dans "Mes documents" ou bien dans java ?

 

Excuse moi si j'ai du mal à saisir

Lien vers le commentaire
Partager sur d’autres sites

rt.jar c'est l'archive contenant les classes de base du runtime Java !

Ce fichier est présent dans %JAVA_HOME%/lib, tu ne dois pas le créer.

 

Tu dois juste t'assurer que le %CLASSPATH% pointe sur le répertoire qui contient ce fichier (en plus d'autres répertories contenant éventuellement d'autres packages dont tu as besoin, ce qui n'est pas le cas actuellement)

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir KewlCat, bonsoir à tous,

 

Voici la variable systeme de mon JAVA_HOME :

" c:\Program Files\Java\jdk1.5.0_06\bin\ "

 

Voici la variable utilisateur de mon Classpath ;

" c:\ProgramFiles\Java\jdk1.5.0_06\lib\rt.jar; c:\Java\mesClasses\; "

 

Je pense donc que le classpath pointe bien sur ce repertoire ou bien je me trompe ?

 

Par contre quand j'entre dans le repertoire suivant : c:\Program Files\Java\jdk1.5.0_06\lib, celui-ci ne contient pas de rt.jar comme on peut le constater sur cette capture d'ecran (cliquer sur l'image)

 

wdycg9g.jpg

 

Est ce normal ?

 

Merci pour ton aide

Lien vers le commentaire
Partager sur d’autres sites

La capture d'écran, c'est le contenu du répertoire lib du JDK, pas le répertoire lib du JRE.

 

Ton classpath devrait être "c:\ProgramFiles\Java\jre1.5.0_06\lib; c:\Java\tesClasses\;" (si toutefois tu as compilé des packages dans c:\java\tesClasses !)

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...