Hvordan løse Java ulovlig uttrykk for uttrykksfeil

Hvordan løse Java ulovlig uttrykk for uttrykksfeil
I Java er det faste regler for å utføre funksjonalitetene deretter. Unnlatelse av å gjøre det kan føre til å møte begrensninger. I et slikt tilfelle "Java ulovlig uttrykksstart”Feil kan oppstå på kompileringstidspunktet når kompilatoren oppdager en bestemt uttalelse som ikke overholder reglene eller syntaks på riktig måte.

Denne bloggen vil diskutere sakene om å møte og løse "Java ulovlig uttrykksstart" -begrensning.

Hvordan du løser feilen "Java ulovlig uttrykk"?

Java ulovlig uttrykksstart”Begrensning kan bli møtt på grunn av følgende hovedårsaker:

  • Mangler krøllete “”Selver.
  • Nestede metoder.
  • røye”Eller“Streng" Uten sitater.
  • Tilgangsmodifiserer innenfor metoden.
  • Klasse som har tilgangsmodifiserer i en metode.

Sak 1: Mangler krøllete “” -stag

Å hoppe over en krøllete stag i en metode kan forårsake “Ulovlig uttrykksstart”I Java skal oppstå.

Demonstrasjon
La oss gå gjennom følgende kodelinjer som viser forekomsten av den diskuterte begrensningen:

offentlig klasse ulovliguttrykk1
offentlig statisk tomrom PrintMultiply (int a, int b)
System.ute.println (a * b);
public static void main (String [] args)
PrintMultiply (2, 3);

I ovennevnte kodebit kan det observeres at avsluttende stag av den definerte funksjonen ikke er spesifisert. Derfor vil det resultere i å møte den diskuterte begrensningen.

Produksjon

Som observert resulterte den manglende lukkestaget av funksjonen i den loggede feilen.

Løsning
For å løse begrensningen, må du bare plassere funksjonens manglende stag, og feilen vil forsvinne, som følger:

Sak 2: Nestede metoder

Den diskuterte begrensningen kan også bli møtt på grunn av en metode som er nestet inne i en annen metode, da Java ikke støtter den.

Demonstrasjon
Eksemplet under levert viser denne saken om å møte feilen:

offentlig klasse ulovlig ekspresjon2
offentlig statisk tomrom PrintMultiply (int a, int b)
System.ute.println ("Multiplikasjonen er:"+ mult (a, b));
offentlig statisk int mult (int a, int b)
returner en * b;

public static void main (String [] args)
printmultiply (2,3);

I henhold til kodelinjene, utfør følgende trinn:

  • Definere en funksjon som heter “PrintMultiply ()”Returnerer multiplikasjonen av tallet ved å påkalle den nestede funksjonen”mult ()”.
  • I den nestede funksjonen, multipliser de passerte tallene.
  • Til slutt, i "hoved()”Metode, påkalle multiplikasjonsfunksjonen.

Produksjon

Dette utfallet betyr at feilen er oppstått på grunn av metoden som er nestet inne i en annen metode.

Løsning
For å takle begrensningen i dette tilfellet, skiller du den nestede funksjonen ved å plassere lukkestaget til den tidligere funksjonen før den nestede, og dermed eliminere hekkeoppførselen:

Tilfelle 3: “Char” eller “String” uten sitater

Som "røye”Verdien er vedlagt i enkelt sitater og“Streng”I doble sitater. Derfor kan initialisering av disse verdiene uten riktig sitater også føre til at den diskuterte feilen står overfor.

Demonstrasjon
Den undergitte kodeblokken kan vurderes for å møte "Java ulovlig uttrykksstart”Feil i dette tilfellet:

offentlig klasse ulovliguttrykk3
public static void main (String [] args)
Streng x = java;
char y = a;
System.ute.println (x);
System.ute.println (y);

I denne koden, initialiser "Streng”Og“røye”Verdier uten henholdsvis doble og enkelt sitater og viser dem.

Produksjon

Dette utfallet indikerer at massefeilen er et resultat av de manglende passende sitatene.

Løsning
For å sortere ut den diskuterte feilen i dette scenariet, må du bare legge ved den initialiserte "Streng”Og“røye”Verdier i henholdsvis doble og enkelt sitater:

Sak 4: Tilgangsmodifiserer innenfor metoden

I Java, innenfor metoden eller konstruktøren, bare "lokal”Variabler kan defineres. “tilgangsmodifiserer”For lokale variabler kan ikke spesifiseres innenfor metoden fordi deres tilgjengelighet er tildelt med metodeomfanget. Derfor kan unnlatelse av det også føre til at den diskuterte feil.

Demonstrasjon
Følgende kode forklarer akkurat denne saken:

offentlig klasse ulovliguttrykk4
offentlig statisk tomrom PrintMultiply (int a, int b)
privat int multiply = a * b;
System.ute.println ("Multiplikasjonen blir:" + multiply);

public static void main (String [] args)
printmultiply (3,2);

I henhold til kodelinjene ovenfor:

  • For det første, definere en funksjon som heter “PrintMultiply ()”Å ha“offentlig" omfang.
  • I sin definisjon, spesifiser variabelen med "privat”Omfang og vise multiplikasjonen av de passerte argumentene.
  • Til slutt, i “hoved()”Metode, påkalle den definerte funksjonen.

Produksjon

Som indikert resulterte den motstridende tilgangsmodifisereren til den initialiserte variabelen i logging av den diskuterte begrensningen.

Løsning
For å løse denne feilen, utelat tilgangsmodifisereren med den lokale variabelen, og feilen blir sortert:

Sak 5: Klasse som har tilgangsmodifisering i en metode

En klasse definert innenfor metoden i Java omfatter en “lokal" omfang. Derfor kan det ikke defineres med en tilgangsmodifiserer. Det er slik at omfanget av denne klassen vil være begrenset bare innenfor metoden.

Demonstrasjon
La oss oversikt Følgende kode som resulterer i å møte "Java ulovlig uttrykksstart”Feil:

offentlig klasse ulovlig ekspresjon5
public static void main (String [] args)
offentlig klasse bil
Bil()
System.ute.Println ("Dette er en klasse!");

Bil x = ny bil ();

I denne koden:

  • Definere en indre klasse som heter “Bil”Innenfor metoden spesifisert med en tilgangsmodifiserer, i.e., “offentlig”.
  • I klassedefinisjonen, lag en klassekonstruktør som viser den medfølgende meldingen.
  • Til slutt, lag et klasseobjekt som heter “x" bruker "ny”Nøkkelord og“Bil()Henholdsvis konstruktør.

Produksjon

Den ovennevnte feilen er et resultat av den spesifiserte tilgangsmodifisereren med den indre klassen.

Løsning
For å finne ut den masse feilen i dette tilfellet, må du bare fjerne tilgangsmodifisereren som er tildelt med den indre klassen, og begrensningen forsvinner, og påkaller dermed den indre klassen på riktig måte:

Dette handlet om å møte og takle “Java ulovlig uttrykksstart”Feil.

Konklusjon

Java ulovlig uttrykksstart”Feil kan løses ved å plassere passende krøllete seler, unngå nestede metoder, initialisere“røye”Eller“Streng”Verdier med riktige sitater, eller avstå fra en tilgangsmodifiserer med variabelen eller klassen innenfor metoden. Denne bloggen diskuterte scenariene for å møte og løse "java ulovlig uttrykk" -begrensning ".