错误的源文件:无法导入子目录JAVA
由于某些原因,我无法从子目录导入类。 我确实检查了预授权,但他们是550,我不认为这是一个许可问题。我做错什么了吗 主要类别:错误的源文件:无法导入子目录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
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代码中编译它。那是个坏主意?