An očakávaný identifikátor chyba je veľmi častá chyba, s ktorou sa stretávajú začiatočníci. V tejto časti budeme diskutovať čo je očakávaná chyba identifikátora , dôvody na výskyt chýb, a ako opraviť očakávanú chybu identifikátora v jazyku Java. Predtým, ako prejdeme k chybe, najprv pochopíme čo sú identifikátory v jazyku Java .
Identifikátory v Jave sú symbolické názvy používané na identifikáciu. Môžu byť a názov triedy, názov premennej, názov metódy, názov balíka, názov konštanty , atď. Avšak, In Java , existujú vyhradené slová, ktoré nemožno použiť ako identifikátor, napríklad int, const, new, double, enum atď.
Čo je to očakávaná chyba identifikátora?
Je to veľmi častá chyba kompilácie, ktorá sa vyskytuje v čase kompilácie.
Pozrime sa na nasledujúci program Java.
IdentifierError.java
public class IdentifierError { System.out.println('javatpoint'); }
Keď sa pokúsime skompilovať vyššie uvedený program, dostaneme nasledujúcu chybu.
Kód vyzerá dobre, ale nie je to tak. Pretože tlačové vyhlásenie nie je vhodné miesto. Mal by byť vo vnútri metódy/bloku. Poďme zabaliť kód do metódy a potom skompilovať a spustiť.
IdentifierError.java
public class IdentifierError { public static void main(String args[]) { System.out.println('javatpoint'); } }
Výkon:
slf4j vs log4j
javatpoint
Dôvody výskytu chyby
Chyba sa môže vyskytnúť z nasledujúcich dôvodov:
- Vyskytuje sa, keď kód nie je v súlade s pravidlami syntaxe Java.
- Blok kódu priamo napísaný v tele triedy namiesto vnútri metódy alebo bloku.
- Môžu existovať ďalšie kučeravé zátvorky.
- Kód nie je na správnom mieste.
- Každý výrok musí mať na konci bodkočiarku.
Ako opraviť/vyriešiť chyby?
- Nezabudnite na koniec výroku uviesť bodkočiarku.
- Neumiestňujte kód priamo do tela triedy.
- Volanie metód musí byť vo vnútri metódy, konštruktora alebo statického inicializátora.
- Napíšte blok kódu na správne miesto.
- Odstráňte nadbytočné kučeravé zátvorky.
IdentifierErrorExample1.java
public class IdentifierErrorExample1 { public static void main(String args[]) { System.out.println('Python'); } System.out.println('MySql'); System.out.println('Java'); } }
Poďme skompilovať vyššie uvedený kód. Dostaneme očakávanú chybu.
Dodržujte vyššie uvedený kód, dostaneme ďalšiu zloženú zátvorku, ktorá je dôvodom na vygenerovanie chyby. Chybu je možné opraviť odstránením ďalšej zátvorky na riadku 6.
Chyba sa vyskytuje aj vtedy, keď pri definovaní hodnôt vložíme namiesto čiarky bodkočiarku enum . Zvážte napríklad nasledujúci kód.
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); } }
Spustíme vyššie uvedený kód. dostaneme očakávanú chybu identifikátora.
Ak chcete chybu opraviť, odstráňte bodkočiarky z hodnôt enum.
public enum Vegetables { eggplant, tomato, broccoli; }
Niekedy môže byť chyba oveľa väčšia. Zvážte nasledujúci kód.
porovnať reťazce java
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); }
Poďme skompilovať vyššie uvedený kód.
Dostávame príliš veľa chýb, pretože niektoré príkazy sa zapisujú priamo do tela triedy. Ak chcete chybu vyriešiť, napíšte celý blok kódu do metódy a potom ho skompilujte a spustite.
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); } }
Výkon: