Maison > Java > javaDidacticiel > le corps du texte

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

王林
Libérer: 2023-08-19 12:37:26
avant
4742 Les gens l'ont consulté

在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);
   }
}
Copier après la connexion

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
Copier après la connexion

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);
   }
}
Copier après la connexion

Sortie

Enter your name:
krishna
Hello krishna
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal