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.
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.
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.
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
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: