package pr2; public class TemperatureHighsAndLows implements TemperatureConstants, Comparable { private int month; private int day; private int[] highs; private int[] lows; public TemperatureHighsAndLows(int month, int day) { this.month = month; this.day = day; highs = new int[DATA_SIZE]; lows = new int[DATA_SIZE]; for (int i = 0; i < DATA_SIZE; i++) { highs[i] = UNKNOWN_TEMP; lows[i] = UNKNOWN_TEMP; } } public int getMonth() { return month; } public int getDay() { return day; } public int getActualLow() { return lows[0]; } public int getActualHigh() { return highs[0]; } public int getPredictedLow(int n) { if ((n < 1) || (n >= DATA_SIZE)) return UNKNOWN_TEMP; return lows[n]; } public int getPredictedHigh(int n) { if ((n < 1) || (n >= DATA_SIZE)) return UNKNOWN_TEMP; return highs[n]; } public void setPredictedLow(int n, int temp) { if ((n < 1) || (n >= DATA_SIZE)) return; lows[n] = temp; } public void setPredictedHigh(int n, int temp) { if ((n < 1) || (n >= DATA_SIZE)) return; highs[n] = temp; } public void setActualLow(int temp) { lows[0] = temp; } public void setActualHigh(int temp) { highs[0] = temp; } private String tempToString(int temp) { if (temp == UNKNOWN_TEMP) return "??"; return "" + temp; } public String toString() { StringBuilder sb = new StringBuilder(); sb.append(MONTHS[month - 1] + " " + day + ": High=" + tempToString(highs[0]) + " Low=" + tempToString(lows[0]) + " Predicted highs:"); for (int i = 1; i < highs.length; i++) sb.append(" " + tempToString(highs[i])); sb.append(" lows:"); for (int i = 1; i < lows.length; i++) sb.append(" " + tempToString(lows[i])); return sb.toString(); } public void qualityCheck() { int temp; for (int i=0;i