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.