Maison > Java > javaDidacticiel > le corps du texte

Pourquoi est-ce que j'obtiens l'erreur du compilateur Java \'\'.class\' attendue\' ?

Patricia Arquette
Libérer: 2024-11-21 04:45:14
original
692 Les gens l'ont consulté

Why am I getting the Java compiler error

Comprendre l'erreur : .class attendu

L'erreur "erreur : '.class' attendu" se produit lors de la compilation lorsque le compilateur rencontre un tapez (par exemple, int ou int[]) où il anticipe une expression. Syntaxiquement, cela signifie que les seuls symboles acceptables seraient . suivi de la classe.

Causes de l'erreur

Cette erreur se produit en raison d'une confusion du compilateur. La vérification de la syntaxe détecte un type dans lequel une expression est attendue, ce qui entraîne le message attendu « .class ».

Exemple d'erreur

double d = 1.9;
int i = int d;  // error: '.class' expected
         ^
Copier après la connexion

Résolution l'erreur

  • Typecast : si vous avez l'intention de taper cast, placez le type entre parenthèses :

    double d = 1.9;
    int i = (int) d;  // Correct: type casts `1.9` to an integer
    Copier après la connexion
  • Supprimer le type : si vous souhaitez attribuer une valeur ou transmettre un paramètre, supprimez le tapez :

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

Supplémentaire Exemples

  • Référence du tableau :

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

    Corrigez-le en :

    someMethod(array);  // pass reference to the entire array
    Copier après la connexion

    ou

    someMethod(array[someExpression]);  // pass a single array element
    Copier après la connexion
  • Déclaration des paramètres dans la méthode Appel :

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

    Supprimer la déclaration du paramètre :

    int i = someMethod(j);
    Copier après la connexion
  • Déclaration du point-virgule dans le tableau :

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

    Supprimer le point-virgule :

    int[] letterCount = new int[26];
    Copier après la connexion
  • Type Declarator au lieu d'expression :

    return integers[];
    Copier après la connexion

    Renvoie le tableau entier ou un élément spécifique élément :

    return integers;  
    Copier après la connexion

    ou

    return integers[someIndex];  // Return one element of the array
    Copier après la connexion
  • Accolades manquantes :

    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

    Joignez le "puis " déclarations avec accolades :

    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