错误的源文件:无法导入子目录JAVA

错误的源文件:无法导入子目录JAVA,java,Java,由于某些原因,我无法从子目录导入类。 我确实检查了预授权,但他们是550,我不认为这是一个许可问题。我做错什么了吗 主要类别: import etc.*; public class MainClass{ public static void main(String[] args) { LCM lcm = new LCM(12, 24); System.out.println(lcm.findLCM()); } } etc/LCM: public

由于某些原因,我无法从子目录导入类。 我确实检查了预授权,但他们是550,我不认为这是一个许可问题。我做错什么了吗

主要类别:

import etc.*;
public class MainClass{
    public static void main(String[] args) {
        LCM lcm = new LCM(12, 24);
        System.out.println(lcm.findLCM());
    }
}
etc/LCM:

public class LCM {
    private int number1 = 0 ;
    private int number2 = 0;
    private int lcm = 0;

    public LCM(int num1, int num2){
        number1 = num1;
        number2 = num2;
    }

    public int findLCM(){
        lcm = (number1 > number2) ? number1: number2;

        while (true) {
            if(lcm % number1 == 0 && lcm % number2 == 0){
                break;
            }
            System.out.println("LCM: " + lcm + " N1: "+ number1 + " N2: "+number2);
            ++lcm;
        }

        return lcm;
    }
}
目录:

MainClass.java etc/LCM.java 错误:

MainClass.java:4: error: cannot access LCM
        LCM lcm = new LCM(12, 24);
        ^
  bad source file: "./etc/LCM.java"
    file does not contain class etc.LCM
    Please remove or make sure it appears in the correct subdirectory of the sourcepath.
1 error

我认为问题不在于包装进口。问题似乎与源文件的配置方式有关。我不确定您正在使用哪个IDE。但我怀疑在项目的构建路径中,etc文件夹没有添加到源代码中


您可以通过在源代码中添加etc文件夹来解决此问题。请在附件中找到示例。

您混淆了软件包和目录。如果类具有语句package foo;,则该类属于包foo;。如果它在目录中,就不会。目录树必须与包树匹配。你丢失了一个包裹等;在LCM.java文件的第一行。@JBNizet我正在使用VSC,这有关系吗?@Andreas同样的问题,我正在使用VSC并通过终端编译它。这对它有影响吗?@user9358154不,没有。无论使用何种IDE,它都是基于磁盘的源文件的标准Java。感谢您的提交。但我使用的是VS代码,只是通过终端在VS代码中编译它。那是个坏主意?