An očekivani identifikator pogreška je vrlo česta pogreška s kojom se susreću početnici. U ovom odjeljku ćemo raspravljati što je očekivana pogreška identifikatora , the razlozi za pojavu grešaka, i kako popraviti očekivanu grešku identifikatora u Javi. Prije nego prijeđemo na pogrešku, prvo ćemo razumjeti Što su identifikatori u Javi .
Identifikatori u Javi su simbolična imena koja se koriste za identifikaciju. Oni mogu biti a ime klase, ime varijable, ime metode, ime paketa, ime konstante , itd. Međutim, In Java , postoje neke rezervirane riječi koje se ne mogu koristiti kao identifikatori kao što su int, const, new, double, enum itd.
Što je očekivana pogreška identifikatora?
To je vrlo česta pogreška kompilacije koja se javlja tijekom kompilacije.
Razmotrimo sljedeći Java program.
IdentifierError.java
public class IdentifierError { System.out.println('javatpoint'); }
Kada pokušamo prevesti gornji program, dobivamo sljedeću pogrešku.
Kod izgleda dobro, ali nije tako. Jer izjava za ispis nije pravo mjesto. Trebao bi biti unutar metode/bloka. Zamotajmo kod unutar metode, a zatim prevedimo i pokrenimo.
IdentifierError.java
public class IdentifierError { public static void main(String args[]) { System.out.println('javatpoint'); } }
Izlaz:
javatpoint
Razlozi za pojavu pogreške
Mogu postojati sljedeći razlozi za pojavu pogreške:
- To se događa kada kôd nije u skladu s pravilima Java sintakse.
- Blok koda izravno napisan u tijelu klase umjesto unutar metode ili bloka.
- Mogu postojati dodatne vitičaste zagrade.
- Kod nije na pravom mjestu.
- Svaki iskaz mora imati točku i zarez na kraju.
Kako popraviti/riješiti greške?
- Ne zaboravite staviti točku i zarez na kraju izjave.
- Nemojte stavljati kod izravno u tijelo klase.
- Pozivanje metoda mora biti unutar metode, konstruktora ili statičkog inicijalizatora.
- Napišite blok koda na odgovarajuće mjesto.
- Uklonite dodatne vitičaste zagrade.
IdentifierErrorExample1.java
public class IdentifierErrorExample1 { public static void main(String args[]) { System.out.println('Python'); } System.out.println('MySql'); System.out.println('Java'); } }
Sastavimo gornji kod. Dobivamo očekivanu grešku.
Promatrajte gornji kod, dobivamo dodatnu vitičastu zagradu koja je razlog za generiranje pogreške. Greška se može popraviti uklanjanjem dodatne zagrade u retku 6.
Greška se javlja i kada prilikom definiranja vrijednosti umjesto zareza stavimo točku i zarez nabrajanje . Na primjer, razmotrite sljedeći kod.
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); } }
Pokrenimo gornji kod. dobivamo identifikator očekivane pogreške.
Da biste ispravili pogrešku, uklonite točku i zarez iz enum vrijednosti.
public enum Vegetables { eggplant, tomato, broccoli; }
Ponekad greška može biti mnogo veća. Razmotrite sljedeći kôd.
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); }
Sastavimo gornji kod.
Dobivamo previše pogrešaka jer neke izjave izravno pišu unutar tijela klase. Da biste riješili pogrešku, napišite cijeli blok koda unutar metode, a zatim prevedite i pokrenite.
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); } }
Izlaz: