package pr2; import java.util.ArrayList; import java.util.Collections; public class TemperaturePredictionList implements TemperatureConstants { private ArrayList list; public TemperaturePredictionList() { list = new ArrayList(); } public int getSize() { return list.size(); } public TemperaturePrediction get(int n) { if (n >= list.size()) return null; return list.get(n); } public void addFromDescriptor(String s) { TemperaturePrediction tp = TemperaturePrediction.createFromDescriptor(s); if (tp != null) list.add(tp); } public TemperaturePrediction findPrediction(int month, int day) { for (int i = 0; i < list.size(); i++) if ((list.get(i).getMonth() == month) && (list.get(i).getDay() == day)) return list.get(i); return null; } // s is in the form of an entry from a daily-temperature list public void setActualTemperature(String s) { int month; int day; int high; int low; TemperaturePrediction tp; MyStringTokenizer stk = new MyStringTokenizer(s); if (stk.countTokens() != 4) return; try { month = TemperatureHighsAndLows.stringToMonth(stk.nextToken()); if (month == -1) return; day = Integer.parseInt(stk.nextToken()); low = Integer.parseInt(stk.nextToken()); high = Integer.parseInt(stk.nextToken()); } catch (Exception e) { return; } tp = findPrediction(month, day); if (tp == null) { tp = new TemperaturePrediction(month,day); list.add(tp); } tp.setActualHigh(high); tp.setActualLow(low); } public void qualityCheck() { for (int i=0;i