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 :

[IO] Les fonctions d'entrée/sortie en Java


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 120
    Points : 65
    Points
    65
    Par défaut [IO] Les fonctions d'entrée/sortie en Java
    Bonjour,

    Je suis entrain d'apprendre le langage java.

    J'utilise actuellement NetBeans IDE 4.1 que j'ai téléchargé sur Internet.

    Mais j'ai quelques ennuis en utilisant les fonctions d'entrée/sortie. Les fonctions System.in.read(), Readln.unfloat(), Readln.unint(), Readln.unstring(), etc. ne marchent pas.
    C'est le message suivant qui s'affiche :
    cannot find symbol.
    symbol : variable Readln
    location : class nom_classe.Main.

    Merci d'avance de votre aide.

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Elle sort d'où la classe Readln ? elle ne fait pas parti du JDK, peut-être un oublie d'import (essaye Alt + Maj + F)
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Pourrais tu montrer le code générant ce message d'erreur?
    @+

    Fabszn
    Twitter : @fsznajderman

    N'oubliez pas le bouton
    Comment bien poser ses questions sur le forum


  4. #4
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 120
    Points : 65
    Points
    65
    Par défaut Code du programme test
    Voici le code du programme.

    J'ai pris exactement le code qui se trouve dans le bouquin.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import java.io.*;
     
    class valeurabsolue
     
    public static void main(String[] args) {
            // TODO code application logic here
      //  float x  = -40;
        System.out.print("Entrez un nombre x : ");
       float x =  Readln.unfloat();
        if (x<0)
           System.out.println("|x| = " +(-x));
        else
            System.out.println("|x| = "+x);
        }
    Edit modération : Je t'ai rajouté les balises codes pour plus de clarté dans ton post.

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut


    Je réitère ma question, d'où sors la classe Readln ?

    Citation Envoyé par GBAGO
    J'ai pris exactement le code qui se trouve dans le bouquin.
    Quel bouquin ?
    Je subodore que le code de la classe Readln s'y trouve.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    Membre habitué 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
    Points : 169
    Points
    169
    Par défaut
    A mon avis, Readln doit être l'équivalent de la classe Scanner (JDK 1.5 uniquement). Comme le y@m's, je pense qu'elle a été écrite dans le bouquin.

    serait donc égal à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new Scanner(System.in).nextFloat();
    BlackWood
    Et comme apparemment, ça fait "class" dans une signature :
    , , , ,

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 120
    Points : 65
    Points
    65
    Par défaut Réponse
    C'est un support téléchargé sur Internet ( www.developpez.com). Il s'appelle "Package pédagogique multimédia".
    Cordialement.

  8. #8
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Un lien direct (et qui marche ) serait mieux
    As-tu bien vérifier si le support ne contient pas le code de la classe Readln ?
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  9. #9
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 120
    Points : 65
    Points
    65
    Par défaut Il ya un code ecrit de Readln
    Bonjour!

    Je reviens pour la suite de la discussion.

    Il y a un code Readln écrit ci-dessous :


    class ApplicationLireClavier {
    public static void main(String [ ] argument) {
    String Str;
    int i; long L; char k;
    short s; byte b; float f; double d;
    System.out.print("Entrez une chaîne : ");
    Str = Readln.unstring( );
    System.out.print("Entrez un int: ");
    i = Readln.unint( );
    System.out.print("Entrez un long : ");
    L = Readln.unlong( );
    System.out.print("Entrez un short : ");
    s = Readln.unshort( );
    System.out.print("Entrez un byte : ");
    b = Readln.unbyte( );
    System.out.print("Entrez un caractère : ");
    k = Readln.unchar( );
    System.out.print("Entrez un float : ");
    f = Readln.unfloat( );
    System.out.print("Entrez un double : ");
    f = Readln.unfloat( );
    }
    }

    Comment faire de ce code? le compiler ?
    Merci de me donner des précisions.
    Je m'excuse pour ne pas prendre bcp de temps pour réfléchir. Parce que je suis sollicité à côté et je veux réussir aussi ma formation en java.

  10. #10
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut


    Encore une fois, d'où sort la classe Readln ?
    N'y aurais-t-il pas, dans ton support, un code du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class Readln ....
    ?
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  11. #11
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Bon, j'ai retrouver le support dont tu semble te servir (ici).
    Alors si tu lis bien :
    Dans Java, le flux System.in appartient à la classe InputStream et donc il est moins bien traité
    que le flux System.out et donc il n'y a pas en Java quelque chose qui ressemble à l'instruction
    readln du pascal par exemple. Le manque de souplesse semble provenir du fait qu'une méthode
    ne peut renvoyer son résultat de type élémentaire que par l'instruction return et il n'est pas
    possible de redéfinir une méthode uniquement par le type de son résultat.
    Afin de pallier à cet inconvénient il vous est fourni (ou vous devez écrire vous-même) une classe
    Readln avec une méthode de lecture au clavier pour chaque type élémentaire. En mettant le
    fichier Readln.class dans le même dossier que votre application vous pouvez vous servir de cette
    classe pour lire au clavier dans vos programmes n'importe quelles variables de type élémentaire.

    Méthodes de lecture clavier dans la classe Readln
    String unstring( ) lecture clavier d'un chaîne de type String.
    byte unbyte( ) lecture clavier d'un entier de type byte.
    short unshort( ) lecture clavier d'un entier de type short.
    int unint( ) lecture clavier d'un entier de type int.
    long unlong( ) lecture clavier d'un entier de type long.
    Les fondements du langage Java - ( rév. 28.05.2005 ) page 90
    double undouble( ) lecture clavier d'un réel de type double.
    float unfloat( ) lecture clavier d'un réel de type float.
    char unchar( ) lecture clavier d'un caractère.
    ...
    Donc soit tu as récupéré un fichier Readln.class, soit il te faut l'écrire toi même (dans ce cas je te suggére de te tourner vers la classe Scanner).
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  12. #12
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 120
    Points : 65
    Points
    65
    Par défaut Réponse
    C'est justement le document que j'utilise.

  13. #13
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 120
    Points : 65
    Points
    65
    Par défaut Reponse
    J'ai essayé la solution scanner et vous informerai.

  14. #14
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 5
    Points
    5
    Par défaut La classe Readln
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    import java.io.IOException;
     
    public class Readln {
    	public static String unstring() // Saisie d'une chaine
    	{
    		String Strloc = new String(); // cad Strloc = ""
    		char Carlu = '\0';
    		try {
    			while ((Carlu = (char) System.in.read()) != '\n')
    				if (Carlu != '\r')
    					Strloc = Strloc + Carlu;
    		} catch (IOException e) {
    			System.out.println("Erreur de Saisie");
    			System.exit(0);
    		}
    		return Strloc;
    	}
     
    	public static short unshort() {
    		short s = 0;
    		try {
    			s = Short.parseShort(unstring());
    		} catch (NumberFormatException e) {
    			System.out.println("Short incorrect ! ");
    			System.exit(0);
    		}
    		return s;
    	}
     
    	public static byte unbyte() {
    		byte b = 0;
    		try {
    			b = Byte.parseByte(unstring());
    		} catch (NumberFormatException e) {
    			System.out.println("Entier byte incorrect");
    			System.exit(0);
    		}
    		return b;
    	}
     
    	public static int unint() {
    		int i = 0;
    		long loc = unlong();
    		i = (int) loc;
    		return i;
    	}
     
    	public static long unlong() {
    		long L = 0;
    		try {
    			L = Integer.parseInt(unstring());
    		} catch (NumberFormatException e) {
    			System.out.println("Entier long incorrect");
    			System.exit(0);
    		}
    		return L;
    	}
     
    	public static double undouble() {
    		double D = 0.0;
    		try {
    			D = Double.valueOf(unstring()).doubleValue();
    		} catch (NumberFormatException e) {
    			System.out.println("Réel double incorrect");
    			System.exit(0);
    		}
    		return D;
    	}
     
    	public static float unfloat() {
    		float F = 0.0f;
    		try {
    			F = Double.valueOf(unstring()).floatValue();
    		} catch (NumberFormatException e) {
    			System.out.println("Format numérique incorrect");
    			System.exit(0);
    		}
    		return F;
    	}
     
    	public static char unchar() {
    		String Strloc = unstring();
    		if (Strloc.length() == 0)
    			return '\n';
    		else
    			return Strloc.charAt(0);
    	}
    }

  15. #15
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 120
    Points : 65
    Points
    65
    Par défaut Merci pour la réponse
    Merci pour la réponse.
    Votre réponse aidera certainement les développeurs java aussi.

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

Discussions similaires

  1. Utiliser les fonctions d'entrée-sortie
    Par nounou_bazaid dans le forum Débuter
    Réponses: 6
    Dernier message: 11/03/2012, 15h23
  2. Réponses: 5
    Dernier message: 28/02/2008, 14h35
  3. Réponses: 2
    Dernier message: 25/10/2007, 13h56
  4. Comparaison entre les classes et les fonctions
    Par Ashgenesis dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 08/09/2005, 19h09

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