An pričakovan identifikator napaka je zelo pogosta napaka, s katero se srečujejo začetniki. V tem razdelku bomo razpravljali kaj je pričakovana napaka identifikatorja , the razlogi za nastanek napak, in kako popraviti pričakovano napako identifikatorja v Javi. Preden preidemo na napako, bomo najprej razumeli kaj so identifikatorji v Javi .
Identifikatorji v Javi so simbolična imena, ki se uporabljajo za identifikacijo. Lahko so a ime razreda, ime spremenljivke, ime metode, ime paketa, ime konstante , itd. Vendar pa In Java , obstaja nekaj rezerviranih besed, ki jih ni mogoče uporabiti kot identifikator, kot so int, const, new, double, enum itd.
Kaj je pričakovana napaka identifikatorja?
To je zelo pogosta napaka pri prevajanju, ki se pojavi med prevajanjem.
Oglejmo si naslednji program Java.
IdentifierError.java
public class IdentifierError { System.out.println('javatpoint'); }
Ko poskušamo prevesti zgornji program, dobimo naslednjo napako.
Koda je videti v redu, vendar ni tako. Ker izjava za tiskanje ni pravo mesto. Biti mora znotraj metode/bloka. Zavijmo kodo v metodo in jo nato prevedimo in zaženimo.
IdentifierError.java
public class IdentifierError { public static void main(String args[]) { System.out.println('javatpoint'); } }
Izhod:
javatpoint
Razlogi za nastanek napake
Za pojav napake so lahko naslednji razlogi:
- Pojavi se, ko koda ni skladna s pravili sintakse Java.
- Blok kode, ki je neposredno zapisan v telesu razreda namesto znotraj metode ali bloka.
- Morda so dodatni zaviti oklepaji.
- Koda ni na pravem mestu.
- Vsaka izjava mora imeti na koncu podpičje.
Kako popraviti/odpraviti napake?
- Na koncu izjave ne pozabite postaviti podpičja.
- Ne postavljajte kode neposredno v telo razreda.
- Klicanje metod mora biti znotraj metode, konstruktorja ali statičnega inicializatorja.
- Napišite blok kode na pravo mesto.
- Odstranite dodatne zavite oklepaje.
IdentifierErrorExample1.java
public class IdentifierErrorExample1 { public static void main(String args[]) { System.out.println('Python'); } System.out.println('MySql'); System.out.println('Java'); } }
Sestavimo zgornjo kodo. Dobimo pričakovano napako.
Upoštevajte zgornjo kodo, ugotovimo, da obstaja dodaten zavit oklepaj, ki je razlog za ustvarjanje napake. Napako je mogoče odpraviti z odstranitvijo dodatnega oklepaja v 6. vrstici.
Napaka se pojavi tudi, če pri določanju vrednosti namesto vejice postavimo podpičje enum . Na primer, razmislite o naslednji kodi.
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); } }
Zaženimo zgornjo kodo. dobimo pričakovano napako identifikatorja.
Če želite odpraviti napako, odstranite podpičja iz vrednosti enum.
public enum Vegetables { eggplant, tomato, broccoli; }
Včasih je lahko napaka veliko večja. Razmislite o naslednji kodi.
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); }
Sestavimo zgornjo kodo.
Dobimo preveč napak, ker nekateri stavki pišejo neposredno znotraj telesa razreda. Če želite odpraviti napako, napišite celoten blok kode znotraj metode ter jo nato prevedite in zaženite.
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); } }
Izhod: