PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO FACULTAD DE INGENIERIA - PLAN 2008 – CICLO 2013 Fecha de entrega:……………………… Trabajo Práctico N° 3: Lenguaje JAVA Estructuras de control. Tipos Wrappers. String, Date, BigDecimal. Profundización del uso de mensajes. PROYECTO EN NETBEANS Debe ser nombrado de la siguiente manera: TP03_C1_LU_DNI_APELLIDO_NOMBRE.ZIP : para la comisión 1. TP03_C2_LU_DNI_APELLIDO_NOMBRE.ZIP : para la comisión 2. PAQUETES Considerar la siguiente estructura de paquetes para todos los proyectos: unju.fi.apu2008.poo.tp03.punto01.dominio unju.fi.apu2008.poo.tp03.punto01.test En cada punto debe reemplazar el tp que corresponde, el punto que corresponde, y el paquete que corresponde, debe agregar más paquetes si se requiere. ESTRUCTURAS CONDICIONALES 1. Utilizando una estructura condicional múltiple (if-else if) desarrolle un programa que lee una hora (número entero) y muestra un mensaje de saludo (Buenos Dias, Buenas Tardes, etc.) según la hora introducida. 2. Utilizando una estructura condicional múltiple (if-else if) desarrolle un programa que lee una nota (número entero entre 0 y 10) y muestra la calificación equivalente en forma de texto (MALO, REGULAR, BUENO, EXCELENTE), Ud. establezca los rangos. 3. Desarrollar un programa Java usando una instrucción switch, el programa debe leer por teclado un mes (número entero) y mostrar el nombre del mes, si el valor es distinto a uno entre 1 y 12 debe mostrar un mensaje de mes invalido. ESTRUCTURAS REPETITIVAS 4. 5. 6. 7. Leer un número y mostrar su cuadrado, repetir el proceso hasta que se introduzca un número negativo. Ingrese varias edades, la edad 0 indica el final del ingreso de datos, realice un programa para determinar el promedio de las edades ingresadas y además el porcentaje de personas mayores a los 50 años. Contar una lista de n números que ingresan por teclado, rechazando el número 0, luego obtenga el total de números positivos que ingresaron, total de negativos y el promedio de cada uno. A continuación se presenta el típico programa del juego de piedra, papel y tijera. El código para un juego es el siguiente: Prof. Adj. Ariel Vega – JTP Jorge Mendoza PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO FACULTAD DE INGENIERIA - PLAN 2008 – CICLO 2013 Fecha de entrega:……………………… Nota: Math.random genera un número aleatorio entre 0 y 1. Modifique el código anterior para jugar una cantidad de veces determinada por el usuario y que al final muestre quién ganó en el acumulado de juegos. STRING, DATE, BIGDECIMAL 8. Desarrolle un método al que le pasamos el nombre y apellidos de una persona como un sólo String con el típico formato "apellidos, nombre". El método nos devolverá un nuevo formato: "nombre apellidos". Por ejemplo: System.out.println (miMetodo ("Troncoso, Sergio.")); imprime Sergio Troncoso o Nota1: el método indexOf devuelve la posición de un caracter dentro de un String. o Nota2: el método substring devuelve la parte de un string comprendida entre 2 valores. Si se coloca un sólo parámetro devuelve la parte del string comprendida entre el valor del parámetro y el final. Ej: substring(0,3) del string “computación” devuelve “comp” (la primera posición es 0). Ej2: para el mismo caso substring(8) devuelve “ión”. 9. Crea una clase Libro que modele la información que se mantiene en una biblioteca sobre cada libro: título, autor (usa la clase Persona), isbn, páginas, edición, editorial , lugar (ciudad y país) y fecha de edición (usa la clase Date). La clase debe proporcionar los siguientes servicios: accedentes, método para leer la información y método para mostrar la información. Este último método mostrará la información del libro con este formato: Título: Introduction to Java Programming 3a. edición Autor: Liang, Y. Daniel ISBN: 0-13-031997-X Prof. Adj. Ariel Vega – JTP Jorge Mendoza PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO FACULTAD DE INGENIERIA - PLAN 2008 – CICLO 2013 Fecha de entrega:……………………… Prentice-Hall, New Jersey (USA), viernes 16 de noviembre de 2001 784 páginas 10. Pida al usuario que introduzca una contraseña. Si en un máximo de 3 intentos no escribe la contraseña correcta (por ejemplo, "miclave"), recibirá como respuesta "Acceso denegado". Si acierta la contraseña en menos de tres intentos, se le dirá "Acceso permitido". 11. Realizar una calculador finaciera que permita hacer operaciones básicas de moneda. Los valores deben leerse por teclado y deben tener solo dos decimales. Utilice la clase BigDecimal. Nota: tiene métodos add(), substract(), multiply, divide(). 12. Desarrollar un programa que permita mostrar una lista de fechas festivas del 2013: Fecha Patria 1: sabado 25 de mayo de 2013. Fecha Patria 2: viernes 23 de agosto de 2013. Fecha Patria 3: viernes 25 de diciembre de 2013. Debe instanciar la clase FechaFestiva que tiene dos atributos: nombre (String) y fecha(Date). PROFUNDIZACION DE USO DE MENSAJES 13. Construir una clase que represente a un automóvil. Un automóvil es una estructura que tiene los siguientes atributos: o numeroDominio: el número de patente, o numeroMotor: número que trae grabado el motor, o marca: marca del automóvil, o modelo: el año del modelo del automóvil o tamañoMotor: número que indica la potencia del motor. o color: el color de la carrocería Escribir las siguientes métodos para manipular un automóvil: o crearAutomovil(): genera una instancia de tipo Automóvil con valores de inicialización adecuados para cada uno de sus atributos (los valores de inicialización quedan a su criterio). o cambiarColor(): modifica el valor del atributo color de un automóvil que recibe o mostrar(): imprime todos los atributos de un automóvil en particular 14. La compañía que gestiona la autopista ha decidido cambiar las tarifas de peaje. Estas tarifas dependen del tipo de vehículo (0 si es camión o 1 si es automóvil, utilice constantes para aplicar estos valores) que desee utilizar la autopista, del número de pasajeros que lleve y si existe o no congestión en la autopista: cuando existe congestión, los automóviles con tres pasajeros o más pagan 30 pesos y 20 pesos cuando llevan hasta dos pasajeros, los camiones pagan 50 pesos; en las horas no congestionadas el peaje para los automóviles es de 15 pesos y para los camiones es de 30 pesos independientemente del número de pasajeros. Escriba un programa que leyendo el tipo de vehículo, si la hora es de alta congestión o no y el número de pasajeros, calcule la tarifa que le debe cobrar a un vehículo y muestre la información. La salida del sistema y el TestAutomovil debe ser: Prof. Adj. Ariel Vega – JTP Jorge Mendoza PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO FACULTAD DE INGENIERIA - PLAN 2008 – CICLO 2013 Fecha de entrega:……………………… 15. Define una clase Cuenta con los siguientes atributos: o numerocuenta : int o saldo : BigDecimal o cliente : Persona (que tiene nombre, apellido y dni). Y con los siguientes métodos: o o o o o Constructor parametrizado que recibe un cliente y un número de cuenta Accedentes para los tres atributos depositar(BigDecimal): permitirá ingresar una cantidad en la cuenta. retirar(BigDecimal): permitirá retirar una cantidad de la cuenta si tiene saldo positivo. toString(): que devulva una cadena String con el valor de los atributos. Crea un programa que cree varias cuentas y pruebe sus metodos. Similar al ejemplo: Prof. Adj. Ariel Vega – JTP Jorge Mendoza PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO FACULTAD DE INGENIERIA - PLAN 2008 – CICLO 2013 Fecha de entrega:……………………… 16. Se trata de crear una pequeña base de datos de personas de una universidad. De momento definiremos y probaremos las siguientes clases: o Direccion: Atributos: calle, ciudad, código postal, país (todos String). Métodos accedentes y contructor parametrizado y predeterminado. o Persona: Atributos: nombre, apellidos, dni, dirección Métodos accedentes y contructor parametrizado y predeterminado. o Estudiante: Subclase de Persona. Atributos: id de estudiante (int) Constructores: predeterminado y constructor parametrizado que admita el id. Métodos accedentes y toString(). o Profesor: Subclase de Persona. Atributos : despacho (String) Constructores: predeterminado y constructor parametrizado que admita el despacho. Métodos accedentes y toString() Crea 5 estudiantes y 5 profesores y muestre sus atributos completos. Prof. Adj. Ariel Vega – JTP Jorge Mendoza