【问题标题】:Must declare a named package when importing scanner [duplicate]导入扫描仪时必须声明一个命名包[重复]
【发布时间】:2020-08-23 10:44:40
【问题描述】:

错误在第一行并显示“必须声明一个命名包,因为此编译单元与命名模块相关联”

这是什么意思,我该如何解决?

控制台说是

原因:java.lang.module.InvalidModuleDescriptorException: Main.class found in top-level directory (未命名的包不允许在模块中)

代码如下:

import java.util.Scanner; 

class Main {
  public static void main(String[] args) {

   Scanner keyboard = new Scanner(System.in);
   String sentance = keyboard.nextLine();



   System.out.println(sentance);
  }
}

【问题讨论】:

  • 重命名您的课程 - 将课程命名为“Main”无论如何都不是一个好习惯。

标签: java eclipse import compiler-errors initialization


【解决方案1】:

我认为您的Main.java 直接位于project/src 文件夹下。

Java 不允许这样的文件结构。您必须在 project/src 文件夹下创建一个 package 作为目录。例如,如果您的Main.java 的包名是stackoverflow,则必须创建project/src/stackoverflow 目录并将您的Main.java 放在那里。除此之外,您还必须在Main.java 的顶部声明包名称

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-06
    • 2023-04-07
    • 2018-05-30
    • 2017-04-27
    • 1970-01-01
    相关资源
    最近更新 更多