private void calculateProducedEnergy() {
for (Integer s : mWeatherProfile.getSunshine()) {
for (Double w : mWeatherProfile.getWeatherConditions()) {
mProducedEnergy = s * w * mPvSystem.getEfficiency() * mPvSystem.getPanelSurface();
}
}
}
错误:double无法转换为doubel []
mProducedEnergy是一个双数组
s& w是Arraylist double
mPvSystem.getEfficiency()& mPvSystem.getPanelSurface()是双打
答案 0 :(得分:1)
如果mProducedEnergy是double数组,那么你不能为double数组赋一个double值,你需要提供它所到达的索引。
以下假设mProducedEnergy是全局范围中先前实例化的double []数组,我假设因为您的函数没有返回任何内容所以您可能有一个声明,如
private Double[] mProducedEnergy = new Double[..];
在代码中的函数之外但在类
中private void calculateProducedEnergy() {
int index = 0;
for (Integer s : mWeatherProfile.getSunshine()) {
for (Double w : mWeatherProfile.getWeatherConditions()) {
mProducedEnergy[index] = s * w * mPvSystem.getEfficiency() * mPvSystem.getPanelSurface();
index++;
}
}
}