Home >Java >javaTutorial >Why am I getting the Java compiler error \'\'.class\' expected\'?
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!