An tunniste odotettavissa virhe on hyvin yleinen virhe aloittelijoille. Tässä osiossa keskustelemme mikä on tunnisteen odotettu virhe , syyt virheiden esiintymiseen, ja kuinka korjata tunnisteen odotettu virhe Javassa. Ennen kuin siirrymme virheeseen, ymmärrämme mitä ovat tunnisteet Javassa .
Tunnisteet Javassa ovat symbolisia nimiä, joita käytetään tunnistamiseen. Ne voivat olla a luokan nimi, muuttujan nimi, menetelmän nimi, paketin nimi, vakionimi jne. Kuitenkin In Java , on joitain varattuja sanoja, joita ei voi käyttää tunnisteina, kuten int, const, new, double, enum jne.
Mikä on tunnisteen odotettu virhe?
Se on hyvin yleinen käännösvirhe, joka tapahtuu käännösaikana.
Tarkastellaan seuraavaa Java-ohjelmaa.
IdentifierError.java
public class IdentifierError { System.out.println('javatpoint'); }
Kun yritämme kääntää yllä olevaa ohjelmaa, saamme seuraavan virheen.
Koodi näyttää hyvältä, mutta ei. Koska print-lausunto ei ole oikea paikka. Sen pitäisi olla menetelmän/lohkon sisällä. Kääritään koodi menetelmän sisään ja sitten käännetään ja suoritetaan.
IdentifierError.java
public class IdentifierError { public static void main(String args[]) { System.out.println('javatpoint'); } }
Lähtö:
javatpoint
Syitä virheen esiintymiseen
Virheen ilmenemiseen voi olla seuraavia syitä:
- Se tapahtuu, kun koodi ei ole Java-syntaksisääntöjen mukainen.
- Koodilohko, joka on kirjoitettu suoraan luokan runkoon metodin tai lohkon sijaan.
- Saattaa olla ylimääräisiä kiharoita.
- Koodi ei ole oikeassa paikassa.
- Jokaisen lauseen lopussa on oltava puolipiste.
Kuinka korjata/korjata virheet?
- Älä unohda laittaa puolipistettä lauseen loppuun.
- Älä laita koodia suoraan luokan runkoon.
- Metodeja kutsuvan on oltava metodin, konstruktorin tai staattisen alustuksen sisällä.
- Kirjoita koodilohko oikeaan paikkaan.
- Poista ylimääräiset kiharat olkaimet.
IdentifierErrorExample1.java
public class IdentifierErrorExample1 { public static void main(String args[]) { System.out.println('Python'); } System.out.println('MySql'); System.out.println('Java'); } }
Käännetään yllä oleva koodi. Saamme odotetun virheen.
Tarkkaile yllä olevaa koodia, saamme ylimääräisen kiharan aaltosulkeen, joka on syy virheen luomiseen. Virhe voidaan korjata poistamalla ylimääräinen tuki linjalta 6.
Virhe ilmenee myös silloin, kun laitamme puolipisteen pilkun sijaan, kun määritetään arvoja enum . Harkitse esimerkiksi seuraavaa koodia.
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); } }
Suoritetaan yllä oleva koodi. saamme tunnisteen odotetun virheen.
Korjaa virhe poistamalla puolipisteet luetteloarvoista.
public enum Vegetables { eggplant, tomato, broccoli; }
Joskus virhe voi olla paljon suurempi. Harkitse seuraavaa koodia.
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); }
Käännetään yllä oleva koodi.
Saamme liian paljon virheitä, koska jotkut lauseet kirjoitetaan suoraan luokan runkoon. Voit ratkaista virheen kirjoittamalla koko koodilohkon menetelmän sisään ja kääntämällä ja suorittamalla.
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); } }
Lähtö: