Java 爪哇语;找不到符号“;再一次
我得到了两个java文件(主类(Practica1)和另一个类(Matriz2x2))。两者都在同一个文件夹中。 主类引用了我已经给出的类,这就是“找不到符号”错误弹出的地方。 Matriz2x2类编译 我不会给出每个类(方法等)的详细信息,因此,简单地说,Matriz2x2类如下所示:Java 爪哇语;找不到符号“;再一次,java,Java,我得到了两个java文件(主类(Practica1)和另一个类(Matriz2x2))。两者都在同一个文件夹中。 主类引用了我已经给出的类,这就是“找不到符号”错误弹出的地方。 Matriz2x2类编译 我不会给出每个类(方法等)的详细信息,因此,简单地说,Matriz2x2类如下所示: package mx.unam.ciencias.icc; public class Matriz2x2 { private double a; private double b;
package mx.unam.ciencias.icc;
public class Matriz2x2 {
private double a;
private double b;
private double c;
private double d;
public Matriz2x2(double a, double b,
double c, double d) {
this.a = a;
this.b = b;
this.c = c;
this.d = d;
}
}
这是主要课程:
package mx.unam.ciencias.icc;
import java.util.Random;
public class Practica1 {
public static void main(String[] args) {
Random r = new Random();
Matriz2x2 m = new Matriz2x2(r.nextDouble() * 100,
r.nextDouble() * 100,
r.nextDouble() * 100,
r.nextDouble() * 100);
}
}
这就是愤怒:
jose@jose-ThinkPad-T420:~/practica1/src/mx/unam/ciencias/icc$ javac Practica1.java
Practica1.java:13: cannot find symbol
symbol : class Matriz2x2
location: class mx.unam.ciencias.icc.Practica1
Matriz2x2 m = new Matriz2x2(r.nextDouble() * 100,
^
Practica1.java:13: cannot find symbol
symbol : class Matriz2x2
location: class mx.unam.ciencias.icc.Practica1
Matriz2x2 m = new Matriz2x2(r.nextDouble() * 100,
^
Practica1.java:17: cannot find symbol
symbol : class Matriz2x2
location: class mx.unam.ciencias.icc.Practica1
Matriz2x2 n = new Matriz2x2(r.nextDouble() * 100,
^
Practica1.java:17: cannot find symbol
symbol : class Matriz2x2
location: class mx.unam.ciencias.icc.Practica1
Matriz2x2 n = new Matriz2x2(r.nextDouble() * 100,
^
Practica1.java:37: cannot find symbol
symbol : class Matriz2x2
location: class mx.unam.ciencias.icc.Practica1
Matriz2x2 i = m.inversa();
^
Practica1.java:43: cannot find symbol
symbol : class Matriz2x2
location: class mx.unam.ciencias.icc.Practica1
Matriz2x2 id = m.multiplica(i);
^
6 errors
正如您所看到的,关于Matriz2x2示例中没有包含的方法,还有其他错误,但我没有,因为它们都是关于同一问题的,只是找不到Matriz2x2类。
这可能很简单,但我看不出他们在代码中可能写了什么错误(除了老师写的),所以我不明白为什么主类没有编译,一切似乎都是正确的。您需要从源层次结构的根调用
javac
这样做:
cd ~/practica1/src
javac mx/unam/ciencias/icc/Practica1.java
这样,编译器就知道在哪里查找Matriz2x2.java文件
Java要求目录结构反映包名。因此,由于这些类位于mx.una.ciencias.icc
包中,编译器希望它们位于当前目录的mx/una/ciencias/icc
子目录中。但是,如果将当前目录设为子目录,则会混淆编译器
更好的解决方案是编写构建脚本(Ant)或使用IDE。您需要从源层次结构的根调用
javac
这样做:
cd ~/practica1/src
javac mx/unam/ciencias/icc/Practica1.java
这样,编译器就知道在哪里查找Matriz2x2.java文件
Java要求目录结构反映包名。因此,由于这些类位于mx.una.ciencias.icc
包中,编译器希望它们位于当前目录的mx/una/ciencias/icc
子目录中。但是,如果将当前目录设为子目录,则会混淆编译器
更好的解决方案是编写构建脚本(Ant)或者使用IDE。在尝试编译实用类之前,请确保先编译Matriz2x2类。在尝试编译实用类之前,请确保先编译Matriz2x2类。这两个类是否都已编译并显示在类路径中您使用的是eclipse还是其他IDE?请尝试重新加载该项目。这两个类是否都已编译并显示在类路径中?您使用的是eclipse还是其他IDE?请尝试重新加载项目。@JoséCasillas:请接受答案!对不起,我该怎么做?计票下面应该有一个褪色的复选标记。点击它。@JoséCasillas:接受答案吧!对不起,我该怎么做?计票下面应该有一个褪色的复选标记。点击它。