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

王林
リリース: 2023-08-19 12:37:26
転載
4754 人が閲覧しました

在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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート