Problème avec les variables d'environnement
Ludojava
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je me suis mis récemment à la programmation (Java). Je compile avec un IDE (Netbeans). Et jusque-là les choses allaient plutôt bien. Mais je n'arrive pas à faire fonctionner une application multifichiers, et je suis bloqué depuis trois semaines. Je travaille avec Windows 7, et je pense que le problème pourrait provient des variables d'ajustement que je ne sais pas trop comment définir....
J'ai besoin d'aide...
Merci.
Je me suis mis récemment à la programmation (Java). Je compile avec un IDE (Netbeans). Et jusque-là les choses allaient plutôt bien. Mais je n'arrive pas à faire fonctionner une application multifichiers, et je suis bloqué depuis trois semaines. Je travaille avec Windows 7, et je pense que le problème pourrait provient des variables d'ajustement que je ne sais pas trop comment définir....
J'ai besoin d'aide...
Merci.
A voir également:
- Problème avec les variables d'environnement
- Vba range avec variable ✓ - Forum VB / VBA
- Java runtime environnement - Télécharger - Langages
- Syntaxe VBA Sheets.Range avec Range variable ✓ - Forum VB / VBA
- Le fournisseur de temps vmictimeprovider a indiqué que le matériel et l'environnement d'exploitation actuels ne sont pas pris en charge et ont été arrêtés. ce comportement est attendu de vmictimeprovider dans des environnements invités non hyperv. il peut également être attendu du fournisseur actuel dans l'environnement d'exploitation utilisé. - Forum Windows 10
- Range avec une Variable ✓ - Forum VB / VBA
4 réponses
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)
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.
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.