package praktikum1; import java.util.*; public abstract class FunktsiooniArvutaja { HashMap vastused=new HashMap(); /* * Funktsioon tegelikuks arvutamiseks. * Lubatud rekursiivse algoritmi korral enese seest välja kutsuda. * Andmete meelde jätmiseks soovitav väljakutseks kasutada funktsiooni kysiVastus */ public abstract Valjund arvuta(Sisend sisend); public Valjund kysiVastus(Sisend sisend){ if(!vastused.containsKey(sisend)){ vastused.put(sisend, arvuta(sisend)); } return vastused.get(sisend); } }