首页 >Java >java教程 >为什么我在 Java 中收到 \'\'.class\'预期\' 错误,如何修复它?

为什么我在 Java 中收到 \'\'.class\'预期\' 错误,如何修复它?

Barbara Streisand
Barbara Streisand原创
2024-11-20 00:33:03906浏览

Why am I getting the

理解并解决“'.class' Expected”错误

在 Java 中编译代码时,开发人员可能会遇到神秘的错误消息“预期为“.class”。”这个错误对于初学者和经验丰富的程序员来说都可能令人困惑。让我们深入研究一下它的含义、原因和有效的补救措施。

含义和原因

当编译器遇到类型 (例如,int、int[]),它需要一个表达式。这种奇怪的行为源于编译器在语法检查期间的混乱,导致它期望在句点 (.) 之后出现类声明。

示例

这里是一些示例错误:

double d = 1.9;
int i = int d;  // error here
int j = someFunction(int[] a);  // error here

在这两种情况下,编译器都会抱怨“错误:'.class'预期。”

解决方案

添加“.class”的无用“建议”几乎总是不正确的。相反,实际的解决方案取决于代码中类型的预期用途:

1。类型转换:

如果意图执行类型转换,请将类型括在括号中:

double d = 1.9;
int i = (int) d;   // Correct: casts `1.9` to an integer

2。变量赋值或参数传递:

通常,应删除类型以进行简单赋值或参数传递:

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

其他示例

错误:

someMethod(array[]);

正确:

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

错误:

int i = someMethod(int j); 

正确:

int i = someMethod(j);

错误:

int i = int(2.0);

正确:

int i = (int) 2.0;

错误:

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

正确:

int[] letterCount = new int[26];

错误:

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

正确:

if (someArray[someIndex] > 80)

错误:

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

正确:

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

错误:

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

正确:

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

以上是为什么我在 Java 中收到 \'\'.class\'预期\' 错误,如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn