Maison > Java > javaDidacticiel > le corps du texte

Pourquoi est-ce que j'obtiens l'erreur \'\'.class\' attendue\' en Java et comment puis-je la corriger ?

Barbara Streisand
Libérer: 2024-11-20 00:33:03
original
870 Les gens l'ont consulté

Why am I getting the

Comprendre et résoudre l'erreur "'.class' attendue"

Lors de la compilation du code en Java, les développeurs peuvent rencontrer l'énigmatique message d'erreur " '.class' attendu." Cette erreur peut être déroutante aussi bien pour les programmeurs débutants que expérimentés. Examinons sa signification, ses causes et ses remèdes efficaces.

Signification et cause

L'erreur "'.class' attendue" se produit lorsque le compilateur rencontre un type ( par exemple, int, int[]) où il anticipe une expression. Ce comportement étrange provient de la confusion du compilateur lors de la vérification de la syntaxe, l'amenant à s'attendre à une déclaration de classe après un point (.).

Exemples

Voici quelques exemples de l'erreur :

double d = 1.9;
int i = int d;  // error here
Copier après la connexion
int j = someFunction(int[] a);  // error here
Copier après la connexion

Dans les deux cas, le compilateur se plaindra avec "erreur : '.class' attendu."

Résolution

La "suggestion" inutile d'ajouter ".class" est presque toujours incorrecte. Au lieu de cela, la solution réelle dépend de l'objectif visé du type dans le code :

1. Casting de type :

Si l'intention était d'effectuer un casting de type, mettez le type entre parenthèses :

double d = 1.9;
int i = (int) d;   // Correct: casts `1.9` to an integer
Copier après la connexion

2. Assignation de variable ou passage de paramètres :

En général, les types doivent être supprimés pour une simple affectation ou passage de paramètres :

int j = someFunction(a);  // Correct ... assuming `a`'s type is suitable for the call
Copier après la connexion

Supplémentaire Exemples

Incorrect :

someMethod(array[]);
Copier après la connexion

Correct :

someMethod(array);                  // pass ref to array
someMethod(array[someExpression]);  // pass array element
Copier après la connexion

Incorrect :

int i = someMethod(int j); 
Copier après la connexion

Correct :

int i = someMethod(j);
Copier après la connexion

Incorrect :

int i = int(2.0);
Copier après la connexion

Correct :

int i = (int) 2.0;
Copier après la connexion

Incorrect :

int[]; letterCount = new int[26];
Copier après la connexion

Corriger :

int[] letterCount = new int[26];
Copier après la connexion

Incorrect :

if (someArray[] > 80) {
    // ...
}
Copier après la connexion

Corriger :

if (someArray[someIndex] > 80)
Copier après la connexion

Dans correct :

int[] integers = new int[arraySize];
...
return integers[];
Copier après la connexion

Correct :

return integers;             // Return entire array
return integers[someIndex];  // Return array element
Copier après la connexion

Incorrect :

if ((withdraw % 5 == 0) & (acnt_balc >= withdraw + 0.50))
    double cur = acnt_balc - (withdraw + 0.50);
    System.out.println(cur);
else
    System.out.println(acnt_balc);
Copier après la connexion

Correct :

if ((withdraw % 5 == 0) & (acnt_balc >= withdraw + 0.50)) {
    double cur = acnt_balc - (withdraw + 0.50);
    System.out.println(cur);
} else {
    System.out.println(acnt_balc);
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal