アン 識別子が必要です エラーは初心者が直面する非常に一般的なエラーです。このセクションでは、次のことについて説明します。 識別子の予期されるエラーとは何ですか 、 エラーが発生する理由、 そして Java で識別子が予期されるエラーを修正する方法。 エラーに進む前に、まず理解してください 何ですか Java の識別子 。
識別子 Java では、識別に使用される記号名です。彼らは、 クラス名、変数名、メソッド名、パッケージ名、定数名 、など。ただし、 ジャワ 、int、const、new、double、enum など、識別子として使用できない予約語がいくつかあります。
識別子の予期されるエラーとは何ですか?
これは、コンパイル時に発生する非常に一般的なコンパイル エラーです。
次の Java プログラムを考えてみましょう。
SQLでキャストする
識別子エラー.java
public class IdentifierError { System.out.println('javatpoint'); }
上記のプログラムをコンパイルしようとすると、次のエラーが発生します。
コードは問題ないように見えますが、そうではありません。 print ステートメントが適切な場所ではないためです。メソッド/ブロック内にある必要があります。コードをメソッド内にラップし、コンパイルして実行しましょう。
識別子エラー.java
public class IdentifierError { public static void main(String args[]) { System.out.println('javatpoint'); } }
出力:
文字列をint Javaに変換する
javatpoint
エラーが発生する理由
エラーが発生する原因としては、次のことが考えられます。
- これは、コードが Java 構文ルールに準拠していない場合に発生します。
- メソッドまたはブロック内ではなく、クラス本体に直接記述されたコードのブロック。
- 余分な中括弧が存在する場合があります。
- コードが適切な場所にありません。
- すべてのステートメントの最後にはセミコロンが必要です。
エラーを修正/解決するにはどうすればよいですか?
- ステートメントの最後にセミコロンを付けることを忘れないでください。
- クラス本体内にコードを直接記述しないでください。
- メソッドの呼び出しは、メソッド、コンストラクター、または静的初期化子の内部で行う必要があります。
- 適切な場所にコードのブロックを記述します。
- 余分な中括弧を削除します。
IdentifierErrorExample1.java
public class IdentifierErrorExample1 { public static void main(String args[]) { System.out.println('Python'); } System.out.println('MySql'); System.out.println('Java'); } }
上記のコードをコンパイルしてみましょう。予想通りのエラーが得られます。
上記のコードを観察すると、エラーを生成する原因となる余分な中括弧があることがわかります。このエラーは、6 行目の余分な中括弧を削除することで修正できます。
文字列 Java 置換
このエラーは、値を定義するときにカンマの代わりにセミコロンを入力した場合にも発生します。 列挙型 。たとえば、次のコードを考えてみましょう。
IdentifierErrorExample2.java
public class IdentifierErrorExample2 { public enum Vegetables { eggplant, tomato, broccoli; } public static void main(String args[]) { for(Vegetables veg : Vegetables.values()) System.out.println(veg); } }
上記のコードを実行してみましょう。識別子が予期したエラーを取得します。
このエラーを修正するには、列挙値からセミコロンを削除します。
public enum Vegetables { eggplant, tomato, broccoli; }
場合によっては、誤差がさらに大きくなる場合があります。次のコードを考えてみましょう。
IdentifierErrorExample3.java
import java.util.Arrays; public class IdentifierErrorExample3 { int[] primes = {17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73}; int max_val; max_val = nums[0]; for (int i = 1; i max_val) { max_val = primes[i]; } } System.out.println('Primes Numbers are: ' + Arrays.toString(primes)); System.out.println('Largest Prime is: ' + max_val); }
上記のコードをコンパイルしてみましょう。
arp - コマンド
一部のステートメントがクラス本体内に直接書き込むため、エラーが多すぎます。このエラーを解決するには、メソッド内にコードのブロック全体を記述し、コンパイルして実行します。
IdentifierErrorExample4.java
import java.util.Arrays; public class IdentifierErrorExample4 { public static void main(String args[]) { int[] primes = {17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73}; int max_val; max_val = primes[0]; for (int i = 1; i max_val) { max_val = primes[i]; } } System.out.println('Primes Numbers are: ' + Arrays.toString(primes)); System.out.println('Largest Prime is: ' + max_val); } }
出力: