ホームページ  >  記事  >  Java  >  Java で「シンボルが見つかりません」エラーが発生する原因は何ですか?

Java で「シンボルが見つかりません」エラーが発生する原因は何ですか?

王林
王林転載
2023-08-19 12:37:264722ブラウズ

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

現在のプログラムで外部クラス/インターフェイス (ユーザー定義か組み込みかを問わず) を使用する必要がある場合は、import キーワードを使用してこれらのクラスを現在のプログラムにインポートする必要があります。 。

ただし、クラスのインポート中:

  • インポートしたクラス/インターフェイスのパスが JVM で使用できない場合。

  • import ステートメントで指定した絶対クラス名が正確でない場合 (パッケージ名とクラス名を含む)。

  • 使用するクラス/インターフェイスをインポートしている場合。

「シンボルが見つかりません...」という例外が発生します。

次の例では、ユーザー名を表す文字列値をキーボード (System.in) から読み取ろうとしています。この目的のために、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);
   }
}

コンパイル時エラー

プログラム内で Scanner という名前のクラスを使用しましたが、それをプログラムにインポートしなかったためです。プログラムを実行すると、次のコンパイル時エラーが生成されます。

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

解決策

  • 必要なクラス インターフェイスを含む JAR ファイルのクラスパスを設定する必要があります。

  • import キーワードを使用して、パッケージから必要なクラスをインポートします。インポートするときは、必要なクラス (パッケージとサブパッケージを含む) の絶対名を指定する必要があります。

オンライン デモンストレーション

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);
   }
}

出力

Enter your name:
krishna
Hello krishna

以上がJava で「シンボルが見つかりません」エラーが発生する原因は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。