Home > Java > javaTutorial > body text

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

Patricia Arquette
Release: 2024-11-21 04:45:14
Original
691 people have browsed it

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
         ^
Copy after login

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
    Copy after login
  • 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.
    Copy after login

Additional Examples

  • Array Reference:

    someMethod(array[]);
    Copy after login

    Correct it to:

    someMethod(array);  // pass reference to the entire array
    Copy after login

    or

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

    int i = someMethod(int j);  // Error
    Copy after login

    Remove the parameter declaration:

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

    int[]; letterCount = new int[26];
    Copy after login

    Remove the semicolon:

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

    return integers[];
    Copy after login

    Return the entire array or a specific element:

    return integers;  
    Copy after login

    or

    return integers[someIndex];  // Return one element of the array
    Copy after login
  • 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);
    Copy after login

    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);
    }
    Copy after login

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!

source:php.cn
Statement of this Website
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
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template