2015-12-30 5 views
0
private void calculateProducedEnergy() { 
     for (Integer s : mWeatherProfile.getSunshine()) { 
      for (Double w : mWeatherProfile.getWeatherConditions()) { 
      mProducedEnergy = s * w * mPvSystem.getEfficiency() * mPvSystem.getPanelSurface(); 
      }       
     } 
    } 

Ошибки: двойной не может быть преобразована в doubel []
mProducedEnergy является двойным массивом сек & ш являются Список_массивы двойного mPvSystem.getEfficiency() & mPvSystem.getPanelSurface() являются удвоениямидважды не может быть преобразованы в doubel []

+0

Язык? Похож на Java. Также похоже, что вам нужно создать динамический массив и использовать '.add()' для ввода значения в массив. Вы не можете просто сказать «array = value», потому что это похоже на «сделать мой список покупок». Вы не добавили молоко * в список покупок, вы сделали список * в * молоко, что не имеет смысла. – Draco18s

+0

Похоже, вы назначаете 'mProducedEnergy' (который является' double [] ') значением типа' double'. Таким образом, ожидается ошибка. Вы хотите добавить его в массив? Или создать новый массив с этим значением в нем, возможно? – ne1410s

ответ

1

if mProducedEnergy - это массив двойных чисел, тогда вы не можете назначить двойное значение двойному массиву, вам нужно указать индекс, к которому он идет.

Ниже предполагается mProducedEnergy является ранее экземпляр двойной [] массив в глобальном масштабе, который я предполагаю, потому что ваша функция не возвращает ничего, так что вы, вероятно, есть заявление, как

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++; 
     }       
    } 
} 
+0

Это предполагает, что сначала был создан массив с ненулевым значением, чего, возможно, и не было. – Draco18s

+0

Вы правы, я просто пытался показать, как вы назначили двойное значение массиву. –

Смежные вопросы