Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème Programme avec Lire

    1 novembre 2008 à 10:29:17

    Bonjour,
    Je débute en Java et je n'arrive pas a compiler plusieurs programmes.
    Notamment celui là :

    public class boucles_exo1
    {public static void main (String args [])
    {int a=0, i,x;
    for (i=1; i<=20; i++)
    { System.out.println ("donner x");
    x=Lire.i();
    if (x>=18)
    a++;
    }
    System.out.println ("Il y a " +a+"adultes");
    }
    }



    Voici l'erreur qu'il m'indique lors de la tentative de compilation :


    boucles_exo1.java:6: cannot find symbol
    symbol : variable Lire
    location : class boucles_exo1
    x=Lire.i();
    ^
    1 error


    Je pense que mon problème pourrait venir de "l'installation" de mon fichier Lire.java.
    Pour cela j'ai seulement compiler mon fichier Lire.java qui se trouve dans le même dossier que mon programme. (je sais pas si je suis très clair ^^)
    Donc je sais pas pourquoi sa ne marche pas et j'en ai besoin rapidement.

    Merci d'avance de votre aide ;)




    • Partager sur Facebook
    • Partager sur Twitter
      1 novembre 2008 à 10:34:05

      Utilises les balises codes et donnes nous tous tes codes sources... parce quelle me semble bizarre ta ligne x = Lire.i();

      Tu as une méthode i() dans ta classe Lire ?
      • Partager sur Facebook
      • Partager sur Twitter
        1 novembre 2008 à 10:40:07

        bah oui je pense que c'est bon , en faite cela marche correctement sur les ordi de la fac ^^
        mais j'ai installé JDK et Lire sur mon pc et sa ne marche pas. Le fichier Lire doit être bon puisque on l'a déjà utilisé et c'est celui du prof....
        • Partager sur Facebook
        • Partager sur Twitter
          1 novembre 2008 à 10:50:32

          Excuses-moi de mettre en doute tes dires mais... Je veux bien la voir quand même, car si la classe est bonne, tu peux mal l'utliser !
          • Partager sur Facebook
          • Partager sur Twitter
            1 novembre 2008 à 10:53:37

            a oui oui nan ya pas de problème :)

            alors mon fichier Lire


            import java.io.*;
            public class Lire
            {
            public static String S() // Lire un String
            {
            String tmp = "";
            char C='\0';
            try {
            while ((C=(char) System.in.read()) !='\n')
            {
            if (C != '\r') tmp = tmp+C;

            }
            }
            catch (IOException e)
            {
            System.out.println("Erreur de frappe");
            System.exit(0);
            }
            return tmp;
            } // fin de S()

            public static byte b() // Lire un entier byte
            {
            byte x=0;
            try {
            x=Byte.parseByte(S());
            }
            catch (NumberFormatException e) {
            System.out.println("Format numÈrique incorrect");
            System.exit(0);
            }
            return x ;
            }

            public static short s() // Lire un entier short
            {
            short x=0;
            try {
            x=Short.parseShort(S());
            }
            catch (NumberFormatException e) {
            System.out.println("Format numÈrique incorrect");
            System.exit(0);
            }
            return x ;
            }


            public static int i() // Lire un entier
            {
            int x=0;
            try {
            x=Integer.parseInt(S());
            }
            catch (NumberFormatException e) {
            System.out.println("Format numÈrique incorrect");
            System.exit(0);
            }
            return x ;
            }

            public static long l() // Lire un entier long
            {
            long x=0;
            try {
            x=Integer.parseInt(S());
            }
            catch (NumberFormatException e) {
            System.out.println("Format numÈrique incorrect");
            System.exit(0);
            }
            return x ;
            }


            public static double d() // Lire un double
            {
            double x=0.0;
            try {
            x=Double.valueOf(S()).doubleValue();
            }
            catch (NumberFormatException e) {
            System.out.println("Format numÈrique incorrect");
            System.exit(0);
            }
            return x ;
            }

            public static float f() // Lire un float
            {
            float x=0.0f;
            try {
            x=Double.valueOf(S()).floatValue();
            }
            catch (NumberFormatException e)
            {
            System.out.println("Format numÈrique incorrect");
            System.exit(0);
            }
            return x ;
            }


            public static char c() // Lire un caractere
            {
            String tmp=S();
            if (tmp.length()==0)
            return '\n';
            else
            {
            return tmp.charAt(0);
            }
            }
            }


            voilà j'espère que c'est bien ce que tu voulais voir
            • Partager sur Facebook
            • Partager sur Twitter
              1 novembre 2008 à 11:07:03

              Tout marche bien chez moi !
              • Partager sur Facebook
              • Partager sur Twitter
                1 novembre 2008 à 11:31:59

                a... bah zut alors !! dis moi comment on fait pour bien "installer" le fichier Lire ? faut le compiler ??
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  1 novembre 2008 à 11:40:59

                  Un peu hors sujet mais devoir mettre un commentaire à la place d'un nom explicite:
                  public static char c() // Lire un caractere
                  
                  c'est vraiment la pire pratique possible.

                  public static char readChar()
                  
                  est bien plus clair et ne nécessite aucun commentaire.

                  C'est important de faire du code lisible et maintenable.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    1 novembre 2008 à 11:45:41

                    a oui ok ok , ce fichier Lire n'a pas été fait pas moi , sa c'est notre prof ^^ moi je débute seulement alors ...
                    merci quand même ..
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      1 novembre 2008 à 11:57:38

                      Alors tu peux donner ce lien à ton professeur:
                      Sun naming convention
                      • Partager sur Facebook
                      • Partager sur Twitter
                        1 novembre 2008 à 12:00:45

                        mouai merci j'y penserai :)
                        Mais vous savez pas de quoi pourrait venir mon problème ? parce que sa marche tjrs pas chez moi !
                        et dites moi comment vous faite exactement avec le fichier Lire (pour le mettre en service quoi ) parce que bon au point ou j'en suis on sait jamais !
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          1 novembre 2008 à 12:08:47

                          Il faut pour cela qu'il se trouve dans le classpath de ton application, copie le .jar(ou .class) dans le dossier ou tu exécutes ton main.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            1 novembre 2008 à 12:10:41

                            bah je comprends pas alors , c'est bien ce que j'ai fait pourtant : j'ai compiler mon fichier Lire.java en Lire.class , tout sa dans le même dossier que mon programme...
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              1 novembre 2008 à 12:15:31

                              Essaye d'ouvrir un nouveau projet, et d'y mettre 2 classes : une avec le code de ton main et l'autre celui de ta classe Lire sa devrait marcher ;)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                1 novembre 2008 à 12:18:54

                                désoler mais je suis vraiment débutante, un nouveau projet ?? et d'y mettre 2 classes ? (classe ?) je comprend pas trop ce qu'il faut que je fasse... j'utiliste notepad ++
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Anonyme
                                  1 novembre 2008 à 12:22:41

                                  Si tu compile en ligne de commande, à la place du Lire.class essaie de mettre le Lire.java dans le dossier du programme pour les compiler ensemble.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    1 novembre 2008 à 12:26:25

                                    donc j'ai mis mon programme et mon fichier Lire.java dans un même dossier, puis j'ai compiler mon programme avec l'éditeur de commande ... sans succès .. même réponse ..

                                    Je commence a désespérer^^
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Anonyme
                                      1 novembre 2008 à 12:31:05

                                      Si tu les mets dans le même dossier, vérifie bien que le package de lire concorde.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        2 novembre 2008 à 19:52:44

                                        Salut, je suis aussi débutant, si tu veux utiliser une bonne classe qui permet de lire tous!!, c'est la classe Scanner, regarde le tutoriel sur ce site même(section Java, lire les entrées clavier). et voila ce que ça fait sur ton code:



                                        import java.util.Scanner;


                                        public class boucles_exo1{


                                        public static void main (String args [])
                                        {
                                        Scanner s=new Scanner(System.in);
                                        int a=0, i,x;
                                        for (i=1; i<=20; i++)
                                        { System.out.println ("donner x");
                                        x=s.nextInt();//pour recuperer un string(nextline(), un double nextDouble...)
                                        //regarde le turo lire clavier sur ce site meme.
                                        if (x>=18)
                                        a++;
                                        }
                                        System.out.println ("Il y a " +a+"adultes");
                                        }
                                        }
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          2 novembre 2008 à 21:25:05

                                          Dans un dossier test: (ou autre ^^ )
                                          1) met le fichier Lire.java
                                          2) compile le en faisant "javac Lire.java"
                                          3) met ton fichier boucles_exo1.java dans le même dossier
                                          4) compile le en faisant "javac boucles_exo1.java"

                                          5) Puis lance ton programme en tapant "java boucles_exo1"
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            2 novembre 2008 à 21:52:34

                                            ça n'a marche pas aussi chez moi
                                            Voici mes classes
                                            classe TheGrid
                                            class TheGrid
                                            {
                                            public static void affiche()
                                            {
                                            System.out.print("This is a Grid compiting ! ");
                                            }
                                            }
                                            

                                            Et ma classe Main
                                            class Main
                                            {
                                            
                                            public static void main(String a[])
                                            {
                                            TheGrid.affiche();
                                            } 
                                            }
                                            


                                            Si je compile avec Eclips ça marche mais si j'utilise le Bloc note la ligne de commande ça ne marche pas (je compile TheGrid et en suite le Main )!
                                            Merci.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              2 novembre 2008 à 22:31:27

                                              Sans trop de conviction, essaye de mettre
                                              public class TheGrid
                                              {
                                              ...
                                              
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                2 novembre 2008 à 23:57:06

                                                Désolé pour vous Kacha et Laurette_B mais vos deux programmes fonctionnent chez moi également !

                                                Qu'as tu comme erreur Kacha ?

                                                Laurette_B fais tu comme Look_&_Feel a dit ?
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  3 novembre 2008 à 15:02:59

                                                  Merci .
                                                  Voici l'erreur :"package system does not exist "

                                                  Merci pour vos prochaines réponses !
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Anonyme
                                                    3 novembre 2008 à 18:18:57

                                                    Si c'est pour les entrées consoles, c'est System, pas system.
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      3 novembre 2008 à 20:27:07

                                                      Vous avez bien défini votre CLASSPATH dans vos variables d'environnement...?

                                                      P.S : Et par pitié, les dévs de ce site se sont cassés la tête à créer les balises de code, alors utilisez les, c'est illisible sinon ! >_<
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      Problème Programme avec Lire

                                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                      • Editeur
                                                      • Markdown