Um identificador esperado erro é um erro muito comum enfrentado por iniciantes. Nesta seção, discutiremos o que é erro esperado do identificador , o razões para ocorrer erros, e como corrigir o erro esperado do identificador em Java. Antes de passar para o erro primeiro, vamos entender o que são identificadores em Java .
Identificadores em Java são nomes simbólicos usados para identificação. Eles podem ser um nome da classe, nome da variável, nome do método, nome do pacote, nome da constante , etc. No entanto, em Java , existem algumas palavras reservadas que não podem ser usadas como identificador, como int, const, new, double, enum, etc.
O que é um erro esperado de identificador?
É um erro de compilação muito comum que ocorre em tempo de compilação.
Vamos considerar o seguinte programa Java.
IdentifierError.java
public class IdentifierError { System.out.println('javatpoint'); }
Quando tentamos compilar o programa acima, obtemos o seguinte erro.
O código parece bom, mas não é assim. Porque a instrução print não é um lugar adequado. Deve estar dentro de um método/bloco. Vamos agrupar o código dentro de um método e então compilar e executar.
IdentifierError.java
public class IdentifierError { public static void main(String args[]) { System.out.println('javatpoint'); } }
Saída:
javatpoint
Razões para ocorrer erro
Pode haver os seguintes motivos para ocorrer o erro:
- Ocorre quando o código não está em conformidade com as regras de sintaxe Java.
- Um bloco de código escrito diretamente no corpo da classe, em vez de dentro de um método ou bloco.
- Pode haver chaves extras.
- O código não está no local adequado.
- Toda instrução deve ter um ponto e vírgula no final.
Como corrigir/resolver erros?
- Não se esqueça de colocar ponto e vírgula no final da instrução.
- Não coloque o código diretamente dentro do corpo da classe.
- A chamada de métodos deve estar dentro de um método, construtor ou inicializador estático.
- Escreva um bloco de código no local apropriado.
- Remova chaves extras.
IdentifierErrorExample1.java
public class IdentifierErrorExample1 { public static void main(String args[]) { System.out.println('Python'); } System.out.println('MySql'); System.out.println('Java'); } }
Vamos compilar o código acima. Obtemos o erro esperado.
Observe o código acima, descobrimos que há uma chave extra que é o motivo para gerar um erro. O erro pode ser corrigido removendo uma chave extra na linha 6.
O erro também ocorre quando colocamos ponto e vírgula em vez de vírgula ao definir valores em enumeração . Por exemplo, considere o código a seguir.
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); } }
Vamos executar o código acima. obtemos o erro esperado do identificador.
Para corrigir o erro, remova o ponto-e-vírgula dos valores enum.
public enum Vegetables { eggplant, tomato, broccoli; }
Às vezes, o erro pode ser muito maior. Considere o seguinte código.
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); }
Vamos compilar o código acima.
Recebemos muitos erros porque algumas instruções são escritas diretamente dentro do corpo da classe. Para resolver o erro, escreva todo o bloco de código dentro de um método e depois compile e execute.
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); } }
Saída: