Java >> Tutoriel Java >  >> Java

Impossible de trouver l'erreur de compilation de symboles en Java

Qu'est-ce que l'erreur Java "Impossible de trouver le symbole"

Un 'Impossible de trouver le symbole' en Java est une erreur de compilation qui se produit lorsqu'un compilateur ne peut pas trouver à quoi un identifiant fait référence, par exemple, une variable non déclarée dans votre code. En termes simples, cette erreur se produit lorsque votre code source fait référence à un identifiant (id) que le compilateur est incapable de comprendre car cet identifiant n'est pas défini dans votre code.

Au moment de la compilation de tout programme Java, le compilateur crée une liste de tous les identifiants utilisés dans le programme, puis essaie de comprendre ce que signifie ou fait référence chacun de ces identifiants. Un 'Impossible de trouver le symbole' implique que votre code fait référence à quelque chose que le compilateur ne peut pas comprendre.

Cause de cette erreur

Le compilateur lors de la compilation des programmes Java regarde dans le code pour vérifier où tous les identifiants sont définis, si dans le cas où le compilateur ne trouve pas la définition d'un identifiant, il renverra une erreur 'Impossible de trouver le symbole .'

Certaines causes courantes de cette erreur sont :

  • Utilisation d'une orthographe d'identifiant incorrecte, par exemple StringBffer au lieu de StringBuffer
  • Les identifiants Java sont sensibles à la casse ; par conséquent, l'utilisation d'une mauvaise casse peut provoquer cette erreur.
  •  L'utilisation de traits de soulignement, de lettres, de chiffres, de traits de soulignement, de signes dollar, etc. inappropriés ; c'est-à-dire que stringstechies et string_stechies sont différents
  • Dans le cas où une variable n'est pas déclarée ou si les variables déclarées sont en dehors de la portée, quel utilisateur fait également référence.
  • Si c'est le cas, l'identifiant fait référence à une méthode qui n'a pas été déclarée.
  • Ou l'identifiant essaie d'hériter d'une méthode ou d'un champ qui n'est pas défini dans les classes parentes.
  • Si vous oubliez d'importer la classe

Exemple

/Java program for Compiler Error: cannot find symbol

//Error

//Main class of the program
public class Main{
    //Main method of the program
    public static void main (String[] args) {
        //First Number
        int fNumber = 45;
        //Second Number
        int sNumber = 33;
        //Variable to hold the multiplication of the program
        result = fNumber * sNumber;
        //Printing the output
        System.out.println(result);
    }
}

Sortie

Main.java:10: error: cannot find symbol
        result = fNumber * sNumber;
        ^
  symbol:   variable result
  location: class Main
Main.java:12: error: cannot find symbol
        System.out.println(result);
                           ^
  symbol:   variable result
  location: class Main
2 errors

Dans le code ci-dessus, nous obtenons l'erreur :'cannot find symbol' car nous n'avons pas défini la variable 'result' n'importe où dans notre code.

Programme correct

//Java program to resolve Compiler Error: cannot find symbol

//resolve Error

//Main class of the program
public class Main{
    //Main method of the program
    public static void main (String[] args) {
        //First Number
        int fNumber = 45;
        //Second Number
        int sNumber = 33;
        //Variable to hold the multiplication of the program
        int result = fNumber * sNumber;
        //Printing the output
        System.out.println(result);
    }
}

Sortie :

1485 


Balise Java