/** @author Cesar Vasquez & Nadia Herrera @version 2.0 16-11-05 */ package src.servidor; import java.util.HashMap; /** Clase encargada de realizar la sumatoria.
Previamente, revisa si el numero fue calculado anteriormente. */ public class Tabla { private int suma; private HashMap lista; /** Metodo constructor de la clase Tabla
Crea un objeto HashMap para guardar los calculos anteriores. */ public Tabla() { lista = new HashMap(); } /** Metodo sumatoria, encargado de calcular la sumatoria. @param n Entero al cual hay que procesar. @return Retorna el resultado de la sumatoria */ public int sumatoria(int n) { System.out.println("... calcular sumatoria desde 1 hasta " + n + " ..."); int suma = 0; if(n%2 != 0) suma = ((n + 1) * ((n - 1) / 2) + ((n + 1) / 2)); else suma = ((n + 1) * (n / 2)); lista.put(new Integer(n), new Integer(suma) ); return suma; } /** Metodo encargado de revisar si el numero fue calcula con anterioridad, en cuyo caso, dicho calculo es retornado. @param valor Entero al cual hay que procesar. @return Retorna el resultado de la sumatoria, si es que ya fue calculado. Si nunca fue calculado, retorna -1. */ public int buscarAnteriores(int valor) { Integer numero = new Integer(valor); if(lista.containsKey(numero)) return lista.get(numero); else return -1; } }