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.
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....
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
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 !
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...
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 ++
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 ..
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");
}
}
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"
ç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.
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 !
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.
c'est vraiment la pire pratique possible.