【问题标题】:Exception in thread "main" java.lang.Error: Unresolved compilation problem: at scanner.scan.main(scan.java:8)线程“main”java.lang.Error 中的异常:未解决的编译问题:在scanner.scan.main(scan.java:8)
【发布时间】:2020-11-05 20:32:55
【问题描述】:

我在 Eclipse 中遇到了这个异常错误

线程“main”java.lang.Error 中的异常:未解决的编译 问题:

在scanner.scan.main(scan.java:8)

这是我的代码

import java.util.Scanner;

 public class scan{

    public static void main(String[] args) {
        Scanner obj=new Scanner(System.in);
        Scanner obj1=new Scanner(System.in);
        
        System.out.println("Enter username");
        String username=obj.nextLine();
        System.out.println("username is"+ username);
    }
}

【问题讨论】:

  • 哪一行出错了?我在代码中看不到任何错误。它正在为我编译并成功运行。
  • 这里也一样,问题不应该出在这个类,但可能在同一个项目的另一个类的其他地方或者什么的。
  • 1.你的包结构怎么样?是 java.util.Scanner 还是 scanner.scan ? 2.一般java类名以大写字母开头。

标签: java


【解决方案1】:

当您的代码中有编译错误时,javac 将简单地拒绝发出类文件:当您甚至无法编译程序时,它是不可能运行的。

另一方面,Eclipse 发现这有点太重了。相反,如果存在编译错误,eclipse 将保存类文件的虚拟变体。这意味着您的应用程序将运行 - 一旦您进入不再编译的类,就会因该确切错误而崩溃。 Eclipse 这样做是为了让您的应用程序的其余部分运行良好,并且您可以在调试(使用热代码替换)会话仍在运行时键入并保存。

解决方法是转到该文件并修复您的编译错误。在源文件中与该类匹配的某个位置,至少有一个地方会有一个红色波浪下划线,边栏中有一个红色标记。用鼠标悬停在它上面,你会得到关于你做错了什么的完整描述。

您粘贴的内容不足以让我们告诉您问题所在。

但是,我可以告诉您此代码的一个问题,该问题不会直接导致您看到的问题(毕竟代码可能存在不止一个问题):从 System.in 制作 2 个扫描仪是错误的.您只需要一台扫描仪即可完成所有工作。 obj1 行不应该存在。

我最想知道的是,您创建了一个未命名为 scan.java 的文件,然后在其中放入了一个名为 scan 的公共类。如果第 8 行是 public class scan {,这是最可能的原因。

【讨论】:

    猜你喜欢
    • 2014-05-08
    • 2017-07-16
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    相关资源
    最近更新 更多