En identifierare förväntas fel är ett mycket vanligt fel som nybörjare möter. I det här avsnittet kommer vi att diskutera vad är identifierare förväntat fel , den orsaker till att fel uppstår, och hur man fixar identifierarens förväntade fel i Java. Innan vi går till felet först kommer vi att förstå vad är identifierare i Java .
kö i java
Identifierare i Java är symboliska namn som används för identifiering. De kan vara en klassnamn, variabelnamn, metodnamn, paketnamn, konstantnamn , etc. Emellertid In Java , det finns några reserverade ord som inte kan användas som identifierare som int, const, new, double, enum, etc.
Vad är ett förväntat identifierarfel?
Det är ett mycket vanligt kompileringsfel som uppstår vid kompilering.
Låt oss överväga följande Java-program.
IdentifierError.java
public class IdentifierError { System.out.println('javatpoint'); }
När vi försöker kompilera programmet ovan får vi följande fel.
Koden ser bra ut men inte så. Eftersom det tryckta uttalandet inte är en riktig plats. Det ska vara inuti en metod/block. Låt oss slå in koden i en metod och sedan kompilera och köra.
IdentifierError.java
samlingar java
public class IdentifierError { public static void main(String args[]) { System.out.println('javatpoint'); } }
Produktion:
javatpoint
Orsaker till att fel uppstår
Det kan finnas följande orsaker till att felet uppstår:
- Det inträffar när koden inte överensstämmer med Java-syntaxreglerna.
- Ett kodblock direkt skrivet i klasskroppen istället för inuti en metod eller ett block.
- Det kan finnas extra lockiga hängslen.
- Koden är inte på rätt plats.
- Varje påstående måste ha ett semikolon i slutet.
Hur fixar/löser man fel?
- Glöm inte att sätta ett semikolon i slutet av påståendet.
- Lägg inte kod direkt i klassens kropp.
- Anrop av metoder måste vara inuti en metod, konstruktor eller statisk initialiserare.
- Skriv ett kodblock på rätt plats.
- Ta bort extra lockiga hängslen.
IdentifierErrorExample1.java
public class IdentifierErrorExample1 { public static void main(String args[]) { System.out.println('Python'); } System.out.println('MySql'); System.out.println('Java'); } }
Låt oss kompilera ovanstående kod. Vi får det förväntade felet.
Observera ovanstående kod, vi ser att det finns ett extra lockigt stag som är anledningen till att generera ett fel. Felet kan åtgärdas genom att ta bort en extra stag på rad 6.
Felet uppstår också när vi sätter semikolon istället för kommatecken när vi definierar värden i uppräkning . Tänk till exempel på följande 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); } }
Låt oss köra ovanstående kod. vi får identifieraren förväntat fel.
För att åtgärda felet, ta bort semikolon från enumvärdena.
full huggorm
public enum Vegetables { eggplant, tomato, broccoli; }
Ibland kan felet vara mycket större. Tänk på följande kod.
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); }
Låt oss kompilera ovanstående kod.
Vi får för många fel eftersom vissa påståenden skriver direkt inuti klasskroppen. För att lösa felet, skriv hela kodblocket inuti en metod och kompilera och kör sedan.
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); } }
Produktion: