cn4

Javaでシンボルが見つからないエラーを修正

この投稿では、問題を解決するための解決策を紹介します。 シンボルを見つけることができません のエラー ジャワ。 これは、コンパイラが識別子への参照を見つけられない場合に発生するコンパイル エラーです。 幸いなことに、いくつかの簡単な提案に従ってエラーを修正できます。

Javaでシンボルが見つからないエラーを修正

Javaでシンボルが見つからないエラーを修正

Java で「シンボルが見つかりません」エラーを修正するには、次の提案に従ってください。

  1. 入力ミスをチェックする
  2. 未宣言または範囲外の変数
  3. インポートステートメントがありません

それでは、これらを詳しく見てみましょう。

1) 入力ミスがないか確認する

まず、プログラム内に入力エラーがないか確認します。 私たちの経験では、Java で「シンボルが見つかりません」エラーが発生する最も一般的な理由はタイプミスです。 以下に例を示します。

public class TypoExample 
public static void main(String() args) 
int number = 10;
System.out.println("The value is: " + numer); // Typo 1
String greeting = "Hello, World!";
System.out.println(greetting); // Typo 2

出力:

TypoExample.java:5: error: cannot find symbol
System.out.println("The value is: " + numer); // Typo 1
^
symbol: variable numer
location: class TypoExample
TypoExample.java:7: error: cannot find symbol
System.out.println(greetting); // Typo 2
^
symbol: variable greetting
location: class TypoExample
2 errors

Typo 1 では、number が numer と書かれていることがわかります。 そして、タイプミス 2 では、挨拶は挨拶と書かれます。 修正されたコードは次のとおりです。

public class TypoExample 
public static void main(String() args) 
int number = 10;
System.out.println("The value is: " + number); // Fixed typo 1
String greeting = "Hello, World!";
System.out.println(greeting); // Fixed typo 2

出力:

The value is: 10
Hello, World!

2) 未宣言または範囲外の変数

Java プログラムでシンボルが見つからないエラーは、宣言されていない変数またはスコープ外の変数が原因で発生することもあります。 エラーを示す Java プログラムは次のとおりです。

public class ScopeDemo 
public static void main(String() args) 
int x = 5;
System.out.println("The value is: " + y); // Undeclared variable

// Out-of-scope variable
if (x > 0) 
int z = 10;

System.out.println("The value of z is: " + z); // Out-of-scope variable

出力:

ERROR!
javac /tmp/v1FN2QQUVZ/ScopeDemo.java
/tmp/v1FN2QQUVZ/ScopeDemo.java:8: error: cannot find symbol
System.out.println("The value is: " + y); // Undeclared variable
^
symbol: variable y
location: class ScopeDemo
/tmp/v1FN2QQUVZ/ScopeDemo.java:14: error: cannot find symbol
System.out.println("The value of z is: " + z); // Out-of-scope variable
^
symbol: variable z
location: class ScopeDemo
2 errors

このコードでは、変数 y が適切な宣言なしで使用されています。 また、変数 z は if ブロック内にあります。 これにより、ブロックの外でアクセスするとスコープ外となり、「シンボルが見つかりません」エラーが発生します。 修正されたコードは次のとおりです。

public class ScopeDemo 
public static void main(String() args) 
int x = 5;
System.out.println("The value is: " + x); // Fixed variable name

// Moved the declaration to the outer scope
int z = 0;
if (x > 0) 
z = 10;

System.out.println("The value of z is: " + z); // Fixed variable scope

出力:

The value is: 5
The value of z is: 10

3) インポートステートメントが欠落している

Java の import ステートメントは、単一のステートメントを使用して、パッケージ内の指定されたプログラムに対してクラスまたはすべてのクラスを表示できるようにするのに役立ちます。 クラスまたはパッケージが適切にインポートされていない場合、Java で「シンボルが見つかりません」エラーが発生する可能性があります。 エラーを示すサンプル プログラムは次のとおりです。

public class ImportDemo 
public static void main(String() args) 
// Missing import statement for Scanner
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a number: ");
int number = scanner.nextInt();
System.out.println("You entered: " + number);

出力:

ERROR!
javac /tmp/v1FN2QQUVZ/ImportDemo.java
/tmp/v1FN2QQUVZ/ImportDemo.java:7: error: cannot find symbol
Scanner scanner = new Scanner(System.in);
^
symbol: class Scanner
location: class ImportDemo
/tmp/v1FN2QQUVZ/ImportDemo.java:7: error: cannot find symbol
Scanner scanner = new Scanner(System.in);
^
symbol: class Scanner
location: class ImportDemo
2 errors

ここでは、スキャナー クラスをインポートせずに使用しようとしています。 import ステートメント、つまり「import java.util.Scanner」を追加すると、プログラムが正常に実行されます。 修正したものは次のとおりです。

import java.util.Scanner;

public class ImportDemo 
public static void main(String() args) 
// Fixed import statement for Scanner
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a number: ");
int number = scanner.nextInt();
System.out.println("You entered: " + number);

出力:

Enter a number: 2
You entered: 2

読む: Windows 11 で Java が動作しない

これらの提案がエラーの修正に役立つことを願っています。

解決できないシンボルとは何ですか?

Java では、「シンボルを解決できません」エラーは、コード内で使用されている名前をコンパイラが認識できないことを示します。 通常、これはクラスをインポートできない場合、誤った入力ミス、またはクラスが存在しない場合に発生します。

不明なシンボル エラーは通常 Java を示しますか?

不明なシンボル エラーは、Java コンパイラが変数名やメソッド名など、認識できないシンボルへの参照を検出した場合に発生します。 これは、コードにタイプミスがあるか、それが範囲外であることを示します。

次の投稿
Starfield Xbox および PC でセーブ ゲームを作成できませんでした
前の投稿
この非正規の Adob​​e アプリは間もなく無効になります (修正)

ノート:

AZ: 動物の世界、ペット、ペット、野生の自然に関するカテゴリー記事…
SP:スポーツカテゴリー。
New vs Ne: ニュースコラム。
Te: テクノロジー カテゴリ。
Gt:エンターテインメントカテゴリー。
Bt: 占い、星占い、超常現象、超常現象。
Ta:人生コラム。