Problème avec les variables d'environnement
Fermé
Ludojava
Messages postés
2
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
16 octobre 2012
-
Modifié par Destrio5 le 15/10/2012 à 15:57
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 16 oct. 2012 à 14:06
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 16 oct. 2012 à 14:06
A voir également:
- Problème avec les variables d'environnement
- Vba range avec variable ✓ - Forum VB / VBA
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Microsoft Office
- Environnement de récupération introuvable ✓ - Forum Windows 10
- Java runtime environnement - Télécharger - Langages
- Vérifier variable d'environnement TEMP - Forum Word
4 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
15 oct. 2012 à 16:45
15 oct. 2012 à 16:45
Point positif : tu as bien défini ton environnement et tes outils.
Point négatif : tu ne décrit absolument pas ton problème !
pour décrire un problème, il faut que tu expliques :
- ce que tu veux que ça fasse
- ce que ça fait en vrai
- ce que tu as fais pour en arriver là (exemple un bout de code avec l'explication de ton algorithme).
Point négatif : tu ne décrit absolument pas ton problème !
pour décrire un problème, il faut que tu expliques :
- ce que tu veux que ça fasse
- ce que ça fait en vrai
- ce que tu as fais pour en arriver là (exemple un bout de code avec l'explication de ton algorithme).
Je voulais pas ennuyé avec tous les détails, mais les voilà.
En fait, il s'agit d'un programme que j'ai trouvé dans le manuel de java que j'utilise.
Si j'ai bien compris, on définit dans un premier temps une classe (ici la classe Cercle) comme ceci :
package cercle;
public class Cercle {
public int x,y; // Position du centre
public int r; // rayon
// Affichage des donnees de la classe
public void afficher()
{
System.out.println("Cercle centre en " + x + ", "+ y);
System.out.println("de rayon : "+r);
}
// Calcul du perimetre d'un cercle
public double perimetre()
{
return 2*Math.PI*r;
}
// Deplace le centre du cercle en (nx, ny). Ces coordonnes
//etant passees enn parametres de la fonction
public void deplacer(int nx,int ny)
{
x=nx;
y=ny;
}
//Augmente la valeur courante du rayon avec la valeur
// passee en parametre
public void agrandir(int nr)
{
r =r+ nr;
}
}// Fin de la classe
Dans un deuxième temps, on crée une application utilisant ce que l'on a défini dans la classe Cercle. Voici le programme :
package fairedescercles;
import java.util.*;
public class FaireDesCercles
{
public static void main(String[] arg)
{
Cercle A =new Cercle();
Scanner lectureClavier = new Scanner (System.in);
A.afficher();
System.out.println("Entrez la position en x : ");
A.x =lectureClavier.nextInt();
System.out.println("Entrez la position en y : ");
A.y = lectureClavier.nextInt();
System.out.println("Entrez le rayon : ");
A.r = lectureClavier.nextInt();
A.afficher();
double p =A.perimetre();
System.out.println("Votre cercle a pour perimetre : "+p);
A.deplacer(5,2);
System.out.println("Apres un deplacement : ");
A.afficher();
A.agrandir(10);
System.out.println("Apres un agrandissement : ");
A.afficher();
}
}
Mais quand j'exécute le programme sur Netbeans, j'obtiens :
run:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - cannot find symbol
symbol: class Cercle
location: class fairedescercles.FaireDesCercles
at fairedescercles.FaireDesCercles.main(FaireDesCercles.java:10)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
En fait, il s'agit d'un programme que j'ai trouvé dans le manuel de java que j'utilise.
Si j'ai bien compris, on définit dans un premier temps une classe (ici la classe Cercle) comme ceci :
package cercle;
public class Cercle {
public int x,y; // Position du centre
public int r; // rayon
// Affichage des donnees de la classe
public void afficher()
{
System.out.println("Cercle centre en " + x + ", "+ y);
System.out.println("de rayon : "+r);
}
// Calcul du perimetre d'un cercle
public double perimetre()
{
return 2*Math.PI*r;
}
// Deplace le centre du cercle en (nx, ny). Ces coordonnes
//etant passees enn parametres de la fonction
public void deplacer(int nx,int ny)
{
x=nx;
y=ny;
}
//Augmente la valeur courante du rayon avec la valeur
// passee en parametre
public void agrandir(int nr)
{
r =r+ nr;
}
}// Fin de la classe
Dans un deuxième temps, on crée une application utilisant ce que l'on a défini dans la classe Cercle. Voici le programme :
package fairedescercles;
import java.util.*;
public class FaireDesCercles
{
public static void main(String[] arg)
{
Cercle A =new Cercle();
Scanner lectureClavier = new Scanner (System.in);
A.afficher();
System.out.println("Entrez la position en x : ");
A.x =lectureClavier.nextInt();
System.out.println("Entrez la position en y : ");
A.y = lectureClavier.nextInt();
System.out.println("Entrez le rayon : ");
A.r = lectureClavier.nextInt();
A.afficher();
double p =A.perimetre();
System.out.println("Votre cercle a pour perimetre : "+p);
A.deplacer(5,2);
System.out.println("Apres un deplacement : ");
A.afficher();
A.agrandir(10);
System.out.println("Apres un agrandissement : ");
A.afficher();
}
}
Mais quand j'exécute le programme sur Netbeans, j'obtiens :
run:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - cannot find symbol
symbol: class Cercle
location: class fairedescercles.FaireDesCercles
at fairedescercles.FaireDesCercles.main(FaireDesCercles.java:10)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
16 oct. 2012 à 09:14
16 oct. 2012 à 09:14
Le problème exact est donné par le compilateur :
- cannot find symbol
symbol: class Cercle
Tu as oublié d'importer la classe cercle dans ton programme principale. Je ne suis pas assez bon en Java pour te dire comment faire.
Pour progresser en programmation, il faut apprendre à lire les messages d'erreur des compilateurs. La plupart du temps ils sont assez explicites.
- cannot find symbol
symbol: class Cercle
Tu as oublié d'importer la classe cercle dans ton programme principale. Je ne suis pas assez bon en Java pour te dire comment faire.
Pour progresser en programmation, il faut apprendre à lire les messages d'erreur des compilateurs. La plupart du temps ils sont assez explicites.
Ludojava
Messages postés
2
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
16 octobre 2012
16 oct. 2012 à 13:53
16 oct. 2012 à 13:53
Je te remercie de ta réponse.
Le manuel que j'utilise signale en effet qu'en exécutant l'application FaireDesCercles, si le compilateur ne trouve pas le fichier Cercle.java, il provoque une erreur de compilation du type "Class Cercle not found", ce qui est cohérent avec ta réponse.
Mais mon manuel ajoute tout de suite après que pour corriger cette erreur, il est possible de spécifier au compilateur où il peut trouver le fichier recherché en définissant une variable d'environnement CLASSPATH. Mais c'est là que mon manuel n'est plus clair du tout : comment concrètement définir cette variable CLASSPATH ?
Je rappelle que je compile avec Netbean 7.2, j'utilise le jdk1.7.0-07, et que je travaille avec Windows 7.
Merci de ton aide.
Le manuel que j'utilise signale en effet qu'en exécutant l'application FaireDesCercles, si le compilateur ne trouve pas le fichier Cercle.java, il provoque une erreur de compilation du type "Class Cercle not found", ce qui est cohérent avec ta réponse.
Mais mon manuel ajoute tout de suite après que pour corriger cette erreur, il est possible de spécifier au compilateur où il peut trouver le fichier recherché en définissant une variable d'environnement CLASSPATH. Mais c'est là que mon manuel n'est plus clair du tout : comment concrètement définir cette variable CLASSPATH ?
Je rappelle que je compile avec Netbean 7.2, j'utilise le jdk1.7.0-07, et que je travaille avec Windows 7.
Merci de ton aide.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
16 oct. 2012 à 14:06
16 oct. 2012 à 14:06
regarde donc la notice de Netbean.
C'est pour ça que je suis partisan d'apprendre à programmer en console, il suffit alors de faire
C'est pour ça que je suis partisan d'apprendre à programmer en console, il suffit alors de faire
javac FaireDesCercle.java -classpath c:\....