Home >Java >javaTutorial >Why am I getting the Java compiler error \'\'.class\' expected\'?

Why am I getting the Java compiler error \'\'.class\' expected\'?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-21 04:45:14758browse

Why am I getting the Java compiler error

Understanding the Error: Expected .class

The error "error: '.class' expected" arises during compilation when the compiler encounters a type (e.g., int or int[]) where it anticipates an expression. Syntactically, this means the only acceptable symbols would be . followed by class.

Causes of the Error

This error occurs due to compiler confusion. Syntax checking detects a type where an expression is expected, resulting in the '.class' expected message.

Example of the Error

double d = 1.9;
int i = int d;  // error: '.class' expected
         ^

Resolving the Error

  • Typecast: if you intend to type cast, enclose the type in parentheses:

    double d = 1.9;
    int i = (int) d;  // Correct: type casts `1.9` to an integer
  • Remove Type: if you aim to assign a value or pass a parameter, remove the type:

    int j = someFunction(a);  // Correct ... assuming 'a' type is compatible for the call.

Additional Examples

  • Array Reference:

    someMethod(array[]);

    Correct it to:

    someMethod(array);  // pass reference to the entire array

    or

    someMethod(array[someExpression]);  // pass a single array element
  • Parameter Declaration in Method Call:

    int i = someMethod(int j);  // Error

    Remove the parameter declaration:

    int i = someMethod(j);
  • Semicolon in Array Declaration:

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

    Remove the semicolon:

    int[] letterCount = new int[26];
  • Type Declarator Instead of Expression:

    return integers[];

    Return the entire array or a specific element:

    return integers;  

    or

    return integers[someIndex];  // Return one element of the array
  • Missing Curly Braces:

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

    Enclose the "then" statements with curly braces:

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

The above is the detailed content of Why am I getting the Java compiler error ''.class' expected'?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn