double不能转换为doubel []

时间:2015-12-30 16:40:06

标签: arrays double

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()是双打

1 个答案:

答案 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++;
        }                           
    }
}