有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Netbeans IDE Dev 201802140002中的java错误?

以下是预期会产生错误的代码:

public class App {

    public static void main (String[] args) {
        tick();
    }

    public static void tick () {
        System.out.print("hi");

请注意,方法tick()和类App的右尖括号都丢失了。虽然IDE在编写代码时指出了这个错误,但编译和运行都很好。Java(或我的操作系统)似乎没有问题,因为在命令行中执行javac肯定会失败

更有趣的是。。。以下代码在成功执行tick()后引发运行时异常:

public class App {

    public static void main (String[] args) {
        tick();

    public static void tick () {
        System.out.print("hello..");

这里我也跳过了main的结束括号

我已经安装了支持Java9的Netbeans开发版本


共 (2) 个答案

  1. # 1 楼答案

    [这不仅仅是一个回答,而是一个评论,但我想包括屏幕截图,以表明我无法再现这两个问题。]

    一个有趣的问题。我刚刚下载了最新的夜间构建(NetBeans Dev 201803060002),并使用Oracle JDK 9.04构建了您的代码

    你的两个代码示例都不能为我编译。对于第一个示例,最后一行的错误是“在解析System.out.print(“hi”);”时到达文件末尾。以下是屏幕截图:

    reachedEOF

    对于第二个示例,在删除main()的右括号的地方,报告的附加错误是“表达式的非法开始公共静态void tick(){”:

    reachedEOF2

    我建议您尝试以下方法:

    • 创建一个新项目和新类“App2”,看看是否可以用同一版本的NetBeans复制该问题
    • 如果您无法查看应用程序编译而App2不编译的原因
    • 如果您可以复制该问题,那么请下载最近的夜间构建,看看您是否仍然可以复制该问题(即,干净地编译无效的源代码)。如果你不能,那么我认为不值得提出错误报告或在这件事上花费更多的时间
    • 但是,如果您可以复制该问题,那么请务必提出错误报告。但我强烈建议在这样做之前能够复制失败。否则,如果NetBeans团队无法复制该问题,您可能会得到WORKSFORME响应

    还有一件事:使用运行时异常的堆栈跟踪更新OP会很有帮助,您还应该在bug报告中包含该跟踪

  2. # 2 楼答案

    啊。。。我现在看到了。在某个时候,我选中了“总是不询问就运行”复选框,从那时起,我的IDE在没有任何警告的情况下忽略了所有编译时错误

    enter image description here

    对不起,伙计们。。。我的错