Download Universidad de Costa Rica CI-0202 Principios de Informática ECCI I
Document related concepts
no text concepts found
Transcript
Universidad de Costa Rica E.C.C.I. CI-0202 Principios de Informática I Semestre 2009 3er examen parcial 1. (40 pts) Escriba un programa que solicita al usuario la siguiente encuesta: Nombre, Apellidos y Edad; pero para un número indefinido de personas con nombre (hasta que el nombre de la persona sea igual a “”). Cree un objeto de clase Persona para cada encuesta. Después de que llena el objeto de cada persona insértelo en una lista de personas creada así: List <Persona> lista = new ArrayList <Persona>(); Para insertar una persona en la lista se hace así: lista.add(p); (donde p es de clase Persona y fue creado anteriormente con los datos de esa persona -en el constructor-). Luego imprima todas las personas (con sus respectivos datos) utilizando el siguiente for (que funciona como un foreach): for (Persona p: lista) { // Código para imprimir los datos en el objeto p. } Por último, imprima el promedio de las edades. 2. (10 pts) Cree una clase con main( ) que dispara un objeto de clase Exception dentro de un bloque try. Dé al constructor de Exception un argumento String. Atrape la excepción dentro de una cláusula catch e imprima el argumento String. Agregue una cláusula finally e imprima un mensaje para probar que estuvo por ahí. Tip: try { throw new Exception("Esta es la hilera de la excepción"); } catch (Exception e) { System.out.println(e.getMessage()); } finally { // Pruebe que estuvo aquí } 3. (50 pts) Suponga que usted está programando una calculadora gráfica. Ya programó el constructor y la clase tiene un par de miembros que son campoDeTexto de tipo JtextField y calculo de tipo String e igual a "". Ahora está programando el método o métodos que manejan los eventos. Además, las etiquetas de los botones son "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "*", "/", "+", "-", "C" e "=". El botón "C" reinicializa la calculadora y el botón "=" muestra el resultado en el texto de campoDeTexto. Si programa sólo un método, el método será: public void actionPerformed(ActionEvent evento) { String etiqueta = ((JButton) evento.getSource()).getText(); /* ¡PROGRAME AQUÍ! */ // Ejemplo: //this.calculo+=etiqueta; } Ahí, en ese método deberá programar las acciones para los botones numéricos y símbolos. Universidad de Costa Rica E.C.C.I. CI-0202 Principios de Informática I Semestre 2009 Si programa varios métodos tendrá que programar los métodos: private void botonCMouseClicked(java.awt.event.MouseEvent evt) { /* ¡PROGRAME AQUÍ! */ } private void boton1MouseClicked(java.awt.event.MouseEvent evt) { /* ¡PROGRAME AQUÍ! */ } private void boton2MouseClicked(java.awt.event.MouseEvent evt) { /* ¡PROGRAME AQUÍ! */ } Etc. Puede utilizar el evaluador de scripts disponible a partir de Java 6 para hacer el cálculo. Se puede ayudar con el siguiente ejemplo: ScriptEngineManager administrador = new ScriptEngineManager(); ScriptEngine motor = administrador.getEngineByName("js"); try { String expresión = "5 * 3 + 2 * 15"; int resultado = ((Double)motor.eval(expresión)).intValue(); System.out.println(expresión+" = "+resultado); } catch(ScriptException se) { se.printStackTrace(); } No es necesario que programe la clase entera con los componentes gráficos, sólo debe programar el método o métodos que manejan los eventos.