Why does this code return "[F@1fcabd4" in the print statement for each entry in median?
median is an array not an element in an array I think line 19 should be
- println("median day " + i + " = " + median[i]);
Rather than using an array for edaToday I would use an ArrayList and only copy non-zero values into it i.e.
- void meanMedian(boolean leftRight) {
- if (!leftRight) {
- ArrayList<Float> edaToday = new ArrayList<Float>();
- median = new float[totalSeconds + 86400];
- for (int i = 0; i < totalDays; i ++) {
- int skipped = 0;
- for (int p = 0; p < 86400; p++) {
- edaToday[p] = totalEda[i*86400 + p];
- if (totalEda[i*86400 + p] != 0) { // Only consider non-zero values
- edaToday.add(totalEda[i*86400 + p];
- }
- } // end for p loop
- // At this point edaToday has all none zero values so get the median
- Collections.sort(edaToday);
- median[i] = edaToday.get(edaToday.size()/2);
- println("median day " + i + " = " + median[i]);
- } // end for i loop
- } // end of if statement
- } // end of function