gpt4 book ai didi

Java 错误 : cannot find symbol from object array

转载 作者:行者123 更新时间:2023-11-29 08:01:35 27 4
gpt4 key购买 nike

我环顾四周并尝试通过重新编译我的其他类等来解决这个问题,但似乎没有任何效果。

我有两个文件,在 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 的新手。为什么会发生此错误?

最佳答案

您尝试在 SensorSim 实例 (sensors[i]) 上运行一个名为 SensorSim(double, double) 的方法,它确实此时甚至不存在。

如果您的意思是在每个数组元素处创建一个 SensorSim 实例,

sensors[i].SensorSim(sensorNom, sensorErr);

应该变成:

sensors[i] = new SensorSim(sensorNom, sensorErr);

此外,您的 runSimulation() 方法将 double 作为参数并使用它来调整数组的大小(sensors = new SensorSim[numOfSensors] ;) :此double 将“向下转换”为int

关于Java 错误 : cannot find symbol from object array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14095366/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com