logo

Azonosító várható hiba a Java-ban

An azonosító várható A hiba nagyon gyakori hiba, amellyel a kezdők szembesülnek. Ebben a részben megvitatjuk mi az azonosító várható hibája , a a hibák előfordulásának okai, és hogyan lehet javítani az azonosító várható hibáját a Java-ban. Mielőtt rátérnénk a hibára, megértjük mik azonosítók Java nyelven .

Azonosítók a Java nyelvben az azonosításra használt szimbolikus nevek. Lehetnek a osztály neve, változó neve, metódus neve, csomag neve, konstans neve , stb. Azonban az In Jáva , vannak fenntartott szavak, amelyek nem használhatók azonosítóként, például int, const, new, double, enum stb.

Mi az azonosító várható hiba?

Ez egy nagyon gyakori fordítási hiba, amely a fordítás során fordul elő.

Tekintsük a következő Java programot.

IdentifierError.java

 public class IdentifierError { System.out.println('javatpoint'); } 

Amikor megpróbáljuk lefordítani a fenti programot, a következő hibát kapjuk.

Azonosító várható hiba a Java-ban

A kód jól néz ki, de nem az. Mert a nyomtatott nyilatkozat nem megfelelő hely. Egy metóduson/blokkon belül kell lennie. Csomagoljuk be a kódot egy metódusba, majd fordítsuk le és futtassuk.

IdentifierError.java

 public class IdentifierError { public static void main(String args[]) { System.out.println('javatpoint'); } } 

Kimenet:

 javatpoint 

A hiba előfordulásának okai

A hiba előfordulásának a következő okai lehetnek:

  • Akkor fordul elő, ha a kód nem felel meg a Java szintaktikai szabályoknak.
  • Egy kódblokk közvetlenül az osztály törzsébe írva, nem pedig metóduson vagy blokkon belül.
  • Lehetnek extra göndör fogszabályzók.
  • A kód nem a megfelelő helyen van.
  • Minden állításnak pontosvesszőnek kell lennie a végén.

Hogyan lehet javítani/megoldani a hibákat?

  • Ne felejtsen el pontosvesszőt tenni az állítás végére.
  • Ne helyezzen kódot közvetlenül az osztály törzsébe.
  • A metódusok meghívásának metóduson, konstruktoron vagy statikus inicializátoron belül kell lennie.
  • Írjon egy kódblokkot a megfelelő helyre.
  • Távolítsa el az extra göndör fogszabályzót.

IdentifierErrorExample1.java

 public class IdentifierErrorExample1 { public static void main(String args[]) { System.out.println('Python'); } System.out.println('MySql'); System.out.println('Java'); } } 

Állítsuk össze a fenti kódot. A várt hibát kapjuk.

Azonosító várható hiba a Java-ban

Figyeljük meg a fenti kódot, azt kapjuk, hogy van egy extra göndör kapcsos zárójel, ami a hiba generálásának oka. A hiba a 6-os vonalon lévő extra merevítő eltávolításával javítható.

A hiba akkor is előfordul, ha az értékek meghatározásakor vessző helyett pontosvesszőt teszünk enum . Vegyük például a következő kódot.

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

Futtassuk a fenti kódot. megkapjuk az azonosító várt hibát.

Azonosító várható hiba a Java-ban

A hiba kijavításához távolítsa el a pontosvesszőket a felsorolásértékekből.

 public enum Vegetables { eggplant, tomato, broccoli; } 

Néha a hiba sokkal nagyobb lehet. Vegye figyelembe a következő kódot.

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

Állítsuk össze a fenti kódot.

ridhima tiwari
Azonosító várható hiba a Java-ban

Túl sok hibát kapunk, mert néhány utasítás közvetlenül az osztály törzsébe ír. A hiba megoldásához írja be a teljes kódblokkot egy metódusba, majd fordítsa le és futtassa.

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

Kimenet:

Azonosító várható hiba a Java-ban