首页 > Java > java教程 > 为什么我会收到 Java 编译器错误'\'.class\'预期\”?

为什么我会收到 Java 编译器错误'\'.class\'预期\”?

Patricia Arquette
发布: 2024-11-21 04:45:14
原创
749 人浏览过

Why am I getting the Java compiler error

理解错误:预期 .class

编译过程中,当编译器遇到预期表达式的类型(例如 int 或 int[])。从语法上讲,这意味着唯一可接受的符号是 。其次是类。

错误原因

此错误是由于编译器混乱而发生的。语法检查检测到需要表达式的类型,从而产生“.class”预期消息。

错误示例

double d = 1.9;
int i = int d;  // error: '.class' expected
         ^
登录后复制

解决错误

  • 类型转换: 如果您打算进行类型转换,请将类型括在括号中:

    double d = 1.9;
    int i = (int) d;  // Correct: type casts `1.9` to an integer
    登录后复制
  • 删除类型:如果您打算分配值或传递参数,请删除类型:

    int j = someFunction(a);  // Correct ... assuming 'a' type is compatible for the call.
    登录后复制

其他示例

  • 数组参考:

    someMethod(array[]);
    登录后复制

    将其更正为:

    someMethod(array);  // pass reference to the entire array
    登录后复制

    someMethod(array[someExpression]);  // pass a single array element
    登录后复制
  • 方法调用中的参数声明:

    int i = someMethod(int j);  // Error
    登录后复制

    去掉参数声明:

    int i = someMethod(j);
    登录后复制
  • 数组声明中的分号:

    int[]; letterCount = new int[26];
    登录后复制

    删除分号:

    int[] letterCount = new int[26];
    登录后复制
  • 类型声明符而不是表达式:

    return integers[];
    登录后复制

    返回整个数组或特定元素:

    return integers;  
    登录后复制

    return integers[someIndex];  // Return one element of the array
    登录后复制
  • 缺少卷曲大括号:

    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);
    登录后复制

    用大括号将“then”语句括起来:

    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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板