私は周りを見回して、他のクラスなどを再コンパイルすることでこの問題を解決しようとしましたが、何もうまくいかないようです。
SensorDataDisplay.java に 2 つのファイルがあり、次のコードがあります。
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 を作成したときに機能していました。私は最近、このエラーが発生した時のセンサーシムの配列を追加しました:
$ 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) を削除して再コンパイルしました。私が読んだもう1つの考えられる理由は、スコープに関するものでしたが、私には問題ないように見えますが、Javaは初めてです。このエラーが発生する理由は何ですか?