Vous êtes sur la page 1sur 5

Actividad 4.

Creación De Clases y Objetos


TEMA: Clases y Objetos
Desarrollo de ejercicios básicos de creación de clases y objetos en java,
OBJETIVOS: implementación de métodos constructores, getter y setter, métodos
miembros y sobrecarga de métodos

Descripción de la Actividad

Crear una aplicación en java,, bajo el paradigma orientado a objetos, que de solución
por lo menos a 10 de los problemas propuestos.

Instrucciones:
 Cada estudiante del curso, deberá montar en su web site una carpeta
comprimida con los problemas desarrollados, la carpeta debe llamarse
“Actividad 4 – Ejercicios clases y objetos”.
 El código fuente a desarrolla debe cumplir con las sugerencias vistas en clases,
es decir, las clases deben estar comentadas, debe ser código con identacion, y
se deben respetar las reglas para dar nombre a las variables, clases y metodos.
 Deben asegurarse que cada código fuente ejecutable, no presente errores de
sintaxis.

Ejercicios propuestos:

1. Crear una clase Rectángulo, con atributos longitud y ancho. Crear también el constructor de
la clase y los métodos necesarios para calcular el área y el perímetro. Crear otra clase
PruebaRectangulo que pruebe varios rectángulos y muestre por pantalla sus áreas y
perímetros.

2. Crear una clase Coche, a través de la cual se pueda conocer el color del coche, la marca, el
modelo, el numero de caballos, el numero de puertas y la matricula. Crear el constructor del
coche, así como los métodos que considere necesarios. Crear una clase PruebaCoche que
instancie varios coches, cambiándole el color a lo largo de la vida a algunos de ellos y
mostrándolo por pantalla.

3. Crear una clase Tiempo, con atributos hora, minuto y segundo, que pueda ser construida
indicando los tres atributos, solo la hora y minuto o solo la hora. Crear además los métodos
necesarios para modificar la hora en cualquier momento de forma manual. Mantenga la
integridad de los datos en todo momento. Crear una clase PruebaTiempo que prueba una
hora concreta y la modifique a su gusto mostrándola por pantalla.

4. Crear una clase Punto representada por sus coordenadas X e Y y con los métodos
habituales. Cree una clase Recta con los atributos m (para la pendiente) y puntoInicial
(objeto de la clase Punto). Implemente un método llamado verEcuacionDeRecta el cual
deberá mostrar por pantalla la ecuación de recta que pasa por el puntoInicial.
5. Cree una clase llamada Factura, que una ferretería podría utilizar para representar una
factura para un artículo vendido en la tienda. Una Factura debe incluir cuatro piezas de
información como variables de instancia: un número de pieza (tipo String), la descripción de
la pieza (tipo String), la cantidad de artículos de ese tipo que se van a comprar (tipo int) y el
precio por artículo (double). Su clase debe tener un constructor que inicialice las cuatro
variables de instancia. Proporcione un método establecer y un método obtener para cada
variable de instancia. Además, proporcione un método llamado obtenerMontoFactura, que
calcule el monto de la factura (es decir, que multiplique la cantidad por el precio por artículo)
y después devuelva ese monto como un valor double. Si la cantidad no es positiva, debe
establecerse en 0. Si el precio por artículo no es positivo, debe establecerse a 0.0. Escriba
una aplicación de prueba llamada Prueba-Factura, que demuestre las capacidades de la
clase Factura.

6. Cree una clase llamada Empleado, que incluya tres piezas de información como variables
de instancia: un primer nombre (tipo String), un apellido paterno (tipo String) y un salario
mensual (double). Su clase debe tener un constructor que inicialice las tres variables de
instancia. Proporcione un método establecer y un método obtener para cada variable de
instancia. Si el salario mensual no es positivo, establézcalo a 0.0. Escriba una aplicación de
prueba llamada PruebaEmpleado, que demuestre las capacidades de cada Empleado. Cree
dos objetos Empleado y muestre el salario anual de cada objeto. Después, proporcione a
cada Empleado un aumento del 10% y muestre el salario anual de cada Empleado otra vez.

7. Se conoce de un artículo su costo base y se sabe que se ofrecen 2 precios de venta:


al detal (30% de incremento del costo base) y al mayor (15% de incremento del costo base).
Se desea conocer los distintos PVP del artículo, al detal y al mayor. Desarrolle una
aplicación en java en la que se creen cinco artículos y para cada uno se muestre los PVP.

8. Se conoce de un alumno: cédula, nombre y tres notas parciales (nota1, nota2, nota3).
Desarrolle una aplicación en java que permita crear 5 estudiantes e imprimir: cédula,
nombre, nota final e indique con un mensaje si el alumno aprobó (nota final >= 48) o no
aprobó (nota final < 48) la asignatura.

9. Se conoce de una persona el nombre, el día, mes y año de nacimiento, escriba un programa
en java que creer tres personas e imprima para cada una su edad.

10. Se desea desarrollar en java una clase que almacene el valor de una cantidad en sistema
numérico decimal, y que implemente métodos que permitan convertir dicha cantidad al
sistema octal, binario y hexadecimal.

11. Se desea modelar las características del carro de una familia que se fue de paseo y se
encuentra transitando por una larga carretera lineal. El carro debe tener el valor de su punto
de partida y la velocidad media a la que se mueve así como la distancia transitada. De igual
manera sabemos que el carro realiza una parada (para que los niños vayan al baño y para
comer) cada 50 kilómetros. Dentro del modelamiento nos interesa tener la posibilidad de
modelar el inicio del paseo y posteriormente tener la posibilidad de actualizar la distancia
recorrida. El carro tiene también un dueño, un modelo (que es el año de fabricación) y una
marca. En cualquier momento se va a necesitar conocer (calcular) cuál es el punto en el que
se encuentra (seguramente eso implicará una operación entre el punto de partida y la
distancia recorrida), también se va a necesitar calcular (en cualquier momento) cuantas
paradas se han realizado desde que el paseo comenzó, así como también se necesitará
conocer cuál es el tiempo que se ha tardado el paseo desde que empezó, teniendo en
cuenta que cada parada se demora exactamente media hora. Suponga que la velocidad del
automóvil cuando no está parado es siempre la misma.

12. Crea una clase Complejo que permita trabajar con números complejos (parte real y parte
imaginaria). Incluye los siguientes métodos: constructores (por defecto y parametrizado),
accedentes, mutadores, suma, resta, multiplicación, división, acumulación y print().

13. Crea una clase Racional que permita trabajar con números racionales (fracciones). Incluye
los siguientes métodos: constructores (por defecto y parametrizado), accedentes suma,
resta, multiplicación, división, comparaciones, y print().

14. Define una clase Línea con dos atributos: puntoA y puntoB, los cuales son dos puntos por
los que pasa la línea en un espacio de dos dimensiones. La clase dispondrá de los
siguientes métodos: Linea(): Constructor predeterminado que crea una línea con sus dos
puntos como (0,0) y (0,0); Linea(Punto a, Punto b) : Constructor que recibe como
parámetros dos objetos de la clase Punto, que son utilizados para inicializar los atributos;
mueveDerecha(double x): Desplaza la línea a la derecha la distancia que se indique;
mueveIzquierda(double x): Desplaza la línea a la izquierda la distancia que se indique;
mueveArriba(double x): Desplaza la línea hacia arriba la distancia que se indique;
mueveAbajo(double x): Desplaza la línea hacia abajo la distancia que se indique; Getter y
Setter; verLinea( ): Método que nos permita mostrar la información de la línea de la
siguiente forma:
[puntoA , puntoB], por ejemplo: [(0.0,0.0),(1.0,1.0)].

Se debe implementar una clase principal llamada PruebaLinea que muestre el


comportamiento de la clase Línea a través de un menú de opciones.

15. Crea una clase Cuenta con atributos para el número de cuenta (un entero largo), el DNI del
cliente (otro entero largo), el saldo actual y el interés anual que se aplica a la cuenta
(porcentaje). Define en la clase los siguientes métodos: Constructor por defecto y
constructor sobrecargado con DNI, saldo e interés; Getter y Setter, para el número de
cuenta no habrá Setter; actualizarSaldo(): actualizará el saldo de la cuenta aplicándole el
interés diario (interés anual dividido entre 365 aplicado al saldo actual); ingresar(double):
permitirá ingresar una cantidad en la cuenta; retirar(double): permitirá sacar una cantidad de
la cuenta (si hay saldo); infoCuenta(): método que nos permita mostrar todos los datos de la
cuenta. El número de cuenta se asignará de forma correlativa a partir de 100001, asignando
de manera automática el siguiente número al último asignado.

Se debe implementar una clase principal llamada PruebaCuenta que muestre el


comportamiento de la clase Cuenta a través de un menú de opciones.

16. Cree una clase llamada Fecha, que incluya tres piezas de información como variables de
instancia, un mes (tipo int), un día (tipo int) y un año (tipo int). La clase debe tener un
constructor por defecto que inicialice las tres variables de instancia con la fecha actual del
sistema, y sobrecargado con los tres atributos asumiendo que los valores que se
proporcionan sean correctos. Proporcione métodos getter y setter para cada variable de
instancia. Proporcione un método mostrarFecha(), que muestre el mes, día y año,
separados por barras diagonales (/); MostrarFechaTexto(), que muestre la fecha en modo
texto por ejemplo “diecinueve de enero del 2017”; restar (int d), restara d días a la fecha;
sumar(int d), sumara d días a la fecha.

Escriba una aplicación de prueba llamada PruebaFecha, que demuestre las capacidades de
la clase Fecha a través de un menú de opciones.

17. Un profesor de geometría de una escuela necesita que usted le desarrolle un programa
orientado a objetos que permita manejar dos (2) circunferencias en el plano cartesiano. El
programa debe leer la información de la coordenada x y la coordenada y del centro de cada
circunferencia, así como su radio. También debe tener la posibilidad de mostrar la
información de cada circunferencia después de que ha sido ingresada. Igualmente debe
estar en la capacidad de calcular y mostrar el área de cada circunferencia e indicar cuál es
la que tiene mayor área. De manera similar debe calcular, mostrar y comparar las longitudes
de las dos (2) circunferencias. El programa también debe tener una opción a través de la
cual indique al usuario si las dos circunferencias se intersectan, es decir, si se solapan en el
plano cartesiano.

Crear una clase principal en la que se presenten las siguientes opciones:


1 – Registrar Circunferencias C1 y C2
2 – Análisis y cálculos geométricos
5 - Salir

18. Cree una clase llamada CuentaDeAhorros. Use una variable static llamada tasalnteresAnual
para almacenar la tasa de interés anual para todos los cuentahabientes. Cada objeto de la
clase debe contener una variable de instancia private llamada saldoAhorros, que indique la
cantidad que el ahorrador tiene actualmente en depósito. Proporcione el método
calcularlnteresMensual para calcular el interés mensual, multiplicando el saldoAhorros por la
tasalnteresAnual dividida entre 12; este interés debe sumarse al saldoAhorros. Proporcione
un método sta tic llamado modificarTasalnteres para establecer la tasalnteresAnual en un
nuevo valor. Escriba un programa para probar la daseCuentaDeAhorros. Creedosinstancias
deobjetosCuentaDeAhor ros, ahorradorlyahorrador2,con saldos de$2000.00 y $3000.00.
Establezca la tasalnteresAnual en 4%, después calcule el interés mensual para cada uno de
los 12 meses e imprima los nuevos saldos para ambos ahorradores. Luego establezca la
tasalnteresAnual en 5%, calcule el interés del siguiente mes e imprima los nuevos saldos
para ambos ahorradores.

19. Cree la clase ConjuntoEnteros. Cada objeto Conjunto Enteros puede almacenar enteros en
el rango de 0 a 100. El conjunto se representa mediante un arreglo de valores boolean. El
elemento del arreglo a [i] es true si el entero i se encuentra en el conjunto. El elemento del
arreglo a [j] es fa l se si el entero j no se encuentra dentro del conjunto. El constructor sin
argumentos inicializa el arreglo de Java con el “conjunto vacío” (es decir, sólo valores false).
Proporcione los siguientes métodos: el método static unión debe crear un tercer conjunto
que sea la unión teórica de conjuntos para los dos conjuntos existentes (es decir, un
elemento del nuevo arreglo se establece en true si ese elemento es true en cualquiera o en
ambos de los conjuntos existentes; en caso contrario, el elemento del nuevo conjunto se
establece en false). El método static interseccion debe crear un tercer conjunto que sea la
intersección teórica de conjuntos para los dos conjuntos existentes (es decir, un elemento
del arreglo del nuevo conjunto se establece en false si ese elemento es false en uno o
ambos de los conjuntos existentes; en caso contrario, el elemento del nuevo conjunto se
establece en true). El método insertarElemento debe insertar un nuevo entero k en un
conjunto (estableciendo a[k] en true). El método eliminarElemento debe eliminar el entero m
(estableciendo a[m] en false). El método imprimir debe devolver un String que contenga un
conjunto como una lista de números separados por espacios. Incluya sólo aquellos
elementos que estén presentes en el conjunto. Use — para representar un conjunto vacío.
El método eslgualAdebe determinar si dos conjuntos son iguales. Escriba un programa para
probar la clase ConjuntoEnteros.

Vous aimerez peut-être aussi