【发布时间】:2012-12-30 22:33:00
【问题描述】:
我环顾四周,试图通过重新编译我的其他类等来解决这个问题,但似乎没有任何效果。
我有两个文件,在 SensorDataDisplay.java 我有以下代码:
private SensorSim[] sensors;
...
public void runSimulation(double numberOfSensors) {
sensors = new SensorSim[numOfSensors];
int i = 0;
for(i = 0; i<numOfSensors; i++) {
sensors[i].SensorSim(sensorNom, sensorErr);
}
}
然后在同一个目录下我将SensorSim.java编译成SensorSim.class,构造函数如下。
public SensorSim(double n, double d) {
if (probs == null)
loadData();
nominal = n; sd = d;
rng = new Random();
running = true;
}
这在我刚刚创建单个 sensorSim 时有效。我最近添加了 sensorSims 数组,这时我收到了这个错误:
$ javac SensorDataDisplay.java
SensorDataDisplay.java:44: cannot find symbol
symbol : method SensorSim(double,double)
location: class SensorSim
sensors[i].SensorSim(sensorNom, sensorErr);
^
1 error
环顾四周,我发现它可能与较旧的类文件有关,因此我删除并重新编译了其他文件(SensorSim.class)。我读到的另一个可能的原因是与范围有关,但对我来说看起来不错,但是我是 Java 新手。为什么可能会发生此错误?
【问题讨论】:
标签: java arrays object constructor