JavacはJavaでシンボルエラーを見つけることができません
このチュートリアルでは、Java の javac cannot find symbol
エラーを解決する方法を示します。
Java の Javac はシンボルを見つけることができません
Javac
は Java で書かれたクラスやインターフェースを読み込み、バイトコードにコンパイルするツールです。 javac
は、CLI の Java ファイルで使用されるコマンドです。
javac cannot find symbol
エラーは、プログラムで定義または宣言された変数の使用を含む Java ファイルを実行しようとすると発生します。 javac cannot find symbol
エラーは、コンパイラが認識できない何かを参照していることを意味します。
javac cannot find symbol
エラーは、プログラムに次のような問題がある場合に発生します。
- 数字とテキストを含むリテラル。
true
、false
、class
、while
などのキーワード。- 演算子と、
-
、/
、+
、=
、{
などの英数字以外のトークン。 Reader
、main
、toString
などの識別子。- 空白とコメント。
javac cannot find symbol
をスローする例を作成しましょう。
public class Example {
public static void main(String... args) {
int a = 10;
int b = 20;
int c = 30;
sum = a + b + c; // sum is not declared
System.out.println(sum);
}
}
上記のコードには、前に宣言されていない変数 sum
があるため、シンボルが見つかりません
エラーがスローされます。 CMD で Java ファイルのパスを取得し、javac
でファイルをコンパイルします。
次のコマンドを使用します。
javac Example.java
上記のコードは、次のエラーをスローします。
C:\>javac Example.java
Example.java:7: error: cannot find symbol
sum = a + b + c; // sum is not declared
^
symbol: variable sum
location: class Example
Example.java:8: error: cannot find symbol
System.out.println(sum);
^
symbol: variable sum
location: class Example
2 errors
この問題を解決するには、変数を使用する前にすべての変数が宣言されていることを確認してください。 解決策を参照してください。
public class Example {
public static void main(String... args) {
int a = 10;
int b = 20;
int c = 30;
int sum; // declare sum
sum = a + b + c;
System.out.println(sum);
}
}
同じコマンドでプログラムを実行すると、プログラムは正常にコンパイルされます。
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook