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

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

Barbara Streisand
Barbara Streisandoriginal
2024-11-20 00:33:03927parcourir

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
int j = someFunction(int[] a);  // error here

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

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

Supplémentaire Exemples

Incorrect :

someMethod(array[]);

Correct :

someMethod(array);                  // pass ref to array
someMethod(array[someExpression]);  // pass array element

Incorrect :

int i = someMethod(int j); 

Correct :

int i = someMethod(j);

Incorrect :

int i = int(2.0);

Correct :

int i = (int) 2.0;

Incorrect :

int[]; letterCount = new int[26];

Corriger :

int[] letterCount = new int[26];

Incorrect :

if (someArray[] > 80) {
    // ...
}

Corriger :

if (someArray[someIndex] > 80)

Dans correct :

int[] integers = new int[arraySize];
...
return integers[];

Correct :

return integers;             // Return entire array
return integers[someIndex];  // Return array element

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);

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);
}

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!

Déclaration:
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