Lors de la compilation d'un programme Java, le compilateur crée une liste de tous les identifiants utilisés. S'il ne trouve pas à quoi se réfère un identifiant (par exemple, il n'y a pas de déclaration pour une variable) il ne peut pas terminer la compilation.
C’est ce que
impossible de trouver le symbole
un message d'erreur indique: le compilateur n'a pas suffisamment d'informations pour reconstituer ce que le code Java est destiné à exécuter.
Bien que le code source Java contienne d'autres éléments tels que des mots clés, des commentaires et des opérateurs, l'erreur «Impossible de trouver le symbole» fait référence au nom d'un package, d'une interface, d'une classe, d'une méthode ou d'une variable spécifique. Le compilateur doit savoir à quoi chaque identifiant fait référence. Si ce n'est pas le cas, le code recherche essentiellement quelque chose que le compilateur ne comprend pas encore..
Certaines causes possibles de l'erreur Java «Impossible de trouver le symbole» incluent:
String s = String ();, qui devrait être
String s = new String ();
Parfois, l'erreur provient d'une combinaison de problèmes. Par conséquent, si vous corrigez une chose et que l'erreur persiste, recherchez différents problèmes affectant toujours votre code.
Par exemple, il est possible que vous essayez d'utiliser une variable non déclarée et lorsque vous la corrigez, le code contient toujours des fautes d'orthographe.
Prenons ce code comme exemple:
Ce code provoquera un
impossible de trouver le symbole
erreur car le
System.out
La classe n'a pas de méthode appelée «prontln»:
Les deux lignes sous le message expliqueront exactement quelle partie du code confond le compilateur.
Des erreurs telles que les asymétries de capitalisation sont souvent signalées dans un environnement de développement intégré dédié. Bien que vous puissiez écrire votre code Java dans n'importe quel éditeur de texte, l'utilisation d'IDE et de leurs outils de peluchage associés réduit les fautes de frappe et les décalages. Les IDE Java courants incluent Eclipse et NetBeans.