Para poder comprender correctamente cómo se va a estructurar el código es necesario leer primero este post.
Todo el código que realicé para el concurso está realizado en java y comentado con los comentarios de Javadoc correspondientes.
La resolución de problemas está típicamente estructurada en tres clases:
- Main: únicamente crea un objeto de tipo UserInterface y lo ejecuta a través del método run(). - UserInterface: mantiene el bucle de lectura hasta que se produce el final de fichero (readLine() == null) y realiza un preprocesamiento inicial si fuese necesario. - ProblemSolution: esta clase varía según el problema y contiene todo lo necesario para resolverlo. Además incluye siempre un método que sea capaz de devolver el String que debe ser enviado a la salida.
En las entradas próximas referentes a cada una de las soluciones, se publicará la clase UserInterface y la clase SoluciónProblema para que quien lo desee pueda probarlas.
El código que corresponde con la clase Main de todas las pruebas es el siguiente:
import java.io.IOException;
/**
* Clase principal de ejecución del programa.
* @version 1.0
* @author Javier de Pedro López
*/
public class Main {
/**
* @param args argumentos del programa
*/
public static void main(String[] args) {
UserInterface ui = new UserInterface();
//Ejecutamos la interfaz
try {
ui.run();
} catch (IOException ex) {
System.exit(-1);
}
}
}