У меня есть функция для создания ArrayList средних значений для построения графика, он выглядит следующим образом:
public void setupAverageEntries(int everyNthTimeStamp){
this.avgEntries = new ArrayList<GraphEntry>();
for (int i = 0; i < data.getTimeStampData().size() - everyNthTimeStamp; i += everyNthTimeStamp) {
int avgVolume = new Integer(0);
int total = new Integer(0);
for (int j = 0; j < i + everyNthTimeStamp; j ++) {
total += data.getVolumeData().get(j);
}
avgVolume = total / everyNthTimeStamp; // get the average volume over a certain amount of time stamps
System.out.println("TOTAL " + total);
System.out.println("AVG " + avgVolume);
Point p = new Point(i + everyNthTimeStamp / 2, avgVolume); // plot a point with the average volume and in the middle of the NthTimeStamp
GraphEntry avgE = new GraphEntry(p, avgVolume, i + everyNthTimeStamp / 2);
this.avgEntries.add(avgE);
}
}
Я бы подумал, что инициализация 'total' в первом цикле в 0 будет означатьчто он будет сброшен после завершения второго цикла, используя его для вычисления 'avgVolume', но вывод, который он производит, показывает мне, что итоговое значение только увеличивается.Я подумал, что это может быть проблема со ссылками, но даже после объявления 'total' и 'avgVolume' new, total по-прежнему никогда не сбрасывается.
Пожалуйста, помогите!Это проблема, связанная с объемом?Надеюсь, я не просто слепая летучая мышь ...