Maison  >  Article  >  Java  >  Quelles sont les causes de l’erreur « Impossible de trouver le symbole » en Java ?

Quelles sont les causes de l’erreur « Impossible de trouver le symbole » en Java ?

王林
王林avant
2023-08-19 12:37:264588parcourir

在Java中,什么原因会导致"Cannot find symbol"错误?

Chaque fois que vous devez utiliser des classes/interfaces externes (qu'elles soient définies par l'utilisateur ou intégrées) dans le programme actuel, vous devez importer ces classes dans le programme actuel à l'aide du mot-clé import.

Mais, lors de l'importation d'une classe :

  • Si le chemin de la classe/interface que vous avez importé n'est pas disponible pour la JVM.

  • Si le nom absolu de la classe que vous avez mentionné dans la déclaration d'importation n'est pas exact (y compris le nom du package et de la classe).

  • Si vous avez importé la classe/interface utilisée.

Vous recevrez une exception affichant "Impossible de trouver le symbole..."

Exemple

Dans l'exemple suivant, nous essayons de lire à partir du clavier (System.in) qui représente le nom d'utilisateur String valeur. Pour cela, nous utilisons la classe scanner du package Java.Util.

public class ReadingdData {
   public static void main(String args[]) {
      System.out.println("Enter your name: ");
      Scanner sc = new Scanner(System.in);
      String name = sc.next();
      System.out.println("Hello "+name);
   }
}

Erreur de compilation

Parce que nous utilisons une classe appelée Scanner dans le programme mais ne l'importons pas dans le programme. Lors de l'exécution, le programme génère l'erreur de compilation suivante :

ReadingdData.java:6: error: cannot find symbol
      Scanner sc = new Scanner(System.in);
      ^
   symbol: class Scanner
   location: class ReadingdData
ReadingdData.java:6: error: cannot find symbol
      Scanner sc = new Scanner(System.in);
      ^
   symbol: class Scanner
   location: class ReadingdData
2 errors

Solution

  • Vous devez définir le chemin de classe pour le fichier JAR qui contient l'interface de classe requise.

  • Utilisez le mot-clé import pour importer les classes requises à partir du package. Lors de l'importation, vous devez spécifier le nom absolu de la classe requise (y compris les packages et sous-packages).

Exemple

Démo en ligne

import java.util.Scanner;
public class ReadingdData {
   public static void main(String args[]) {
      System.out.println("Enter your name: ");
      Scanner sc = new Scanner(System.in);
      String name = sc.next();
      System.out.println("Hello "+name);
   }
}

Sortie

Enter your name:
krishna
Hello krishna

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer