Ejercicios propuestos y resueltos programación orientado a objetos Java _ Disco Duro de Roer.pdf

Share Embed Donate


Short Description

Download Ejercicios propuestos y resueltos programación orientado a objetos Java _ Disco Duro de Roer.pdf...

Description

26/12/2014

Ejercicios propuestos y resueltos programación orientado a objetos Java | Disco Duro de Roer

Disc oD u rodeR oe r Dejadegolpearatuordenadorysolucionatusproblemasaquí Acerca de mí

Manuales

Ejercicios

Software

Sistemas operativos

Inglés

Mis aplicaciones

Contáctanos

Busca lo que necesites en la web DIC

20

2013

Ejercicios propuestos y resueltos programación orientado a objetos Java

Hola a todos, hoy os dejo una serie de ejercicios de Java para practicar todo aquello que hemos explicado en anteriores posts, haciendo hincapié en la programación orientada a objetos. Todos los ejercicios que proponemos están resueltos en este mismo post, intenta hacerlo por ti mismo y si te quedas atascado puedes mirar la solución. Recuerda, que no tiene por que estar igual tu solución con la del post, el objetivo es que aprendas no que me copies la solución.

Buscar

Anuncios

Curso Programacion Java Online, Videos, Foros, Profesor. Por Sólo US$198 Inscríbete Ahora!

¿Toma estatinas?

Crea un proyecto en Java por ejercicio. Colocare en las soluciones algunos comentarios para que sean más fácilmente entendibles.

Estudio de investigación. Más información aquí.

Acostúmbrate a usar Javadoc. Te recomiendo que uses mensajes de trazas, donde te sean necesarios. Si tienes problemas también puedes usar el depurador. Aquí tienes todos los posts relacionados con Java: Introduccion Convención de nombres

¡Síguenos en las redes sociales!

Comentarios Variables primitivas Constantes Operadores Entrada y salida de datos Ámbito de una variable String Métodos String Casting Métodos Math Generar un número aleatorio con Math.random Estructura condicional Estructura repetitiva

Skype ¡Contacta con nosotros desde Skype! Pincha en la imagen para obtener mas información

Mensajes de traza Pasar de String a distintos tipos de datos en Java Caracteres de Escape API Java Métodos Java Arrays en Java Bucles anidados Arrays en métodos en Java

http://www.discoduroderoer.es/ejercicios­propuestos­y­resueltos­programacion­orientado­a­objetos­java/

1/10

26/12/2014

Ejercicios propuestos y resueltos programación orientado a objetos Java | Disco Duro de Roer

Referencias en Java Arrays multidimensionales Métodos java.util.Arrays Java Formas de ordenar un array en Java Introducción a la programación orientada a objetos Variable this Sobrecarga de métodos y constructores Método toString Operador instanceof Array de Objetos Comparación de objetos Java Clases abstractas Interfaces

Donación

Uso de constantes en Java Métodos y atributos estáticos Polimorfismo Java

Si quieres agradecer nuestro trabajo de alguna forma, puedes hacerlo invitándonos a un café.

Modificadores de acceso Clases y métodos finales

 

Métodos get y set Herencia Java Como utilizar Javadoc También incluyo los posts relacionados con eclipse. Como usar Eclipse Juno Instalar y desinstalar plugins en Eclipse

Manuales aleatorios Como utilizar Filezilla Client Posicionamiento CSS Convención de nombres en Java Estilo de escritura de algoritmos y programas Polimorfismo Java

Como traducir Eclipse a Español Si tienes alguna duda, recuerda que puedes consultarnos escribiendo un comentario en este post o enviándonos un e­mail a [email protected]

Traffic­Club

1) Haz una clase llamada Persona que siga las siguientes condiciones: Sus  atributos  son:  nombre,  edad,  DNI,  sexo  (H  hombre,  M  mujer),  peso  y  altura.  No  queremos que  se  accedan  directamente  a  ellos.  Piensa  que  modificador  de  acceso  es  el  más  adecuado, también su tipo. Si quieres añadir algún atributo puedes hacerlo. Por  defecto,  todos  los  atributos  menos  el  DNI  serán  valores  por  defecto  según  su  tipo  (0  números, cadena vacía para String, etc.). Sexo sera hombre por defecto, usa una constante para ello. Se implantaran varios constructores:

Contador de visitas

Un constructor por defecto. Un constructor con el nombre, edad y sexo, el resto por defecto. Un constructor con todos los atributos como parámetro. Los métodos que se implementaran son: calcularIMC():  calculara  si  la  persona  esta  en  su  peso  ideal  (peso  en  kg/(altura^2    en  m)), devuelve un ­1 si esta por debajo de su peso ideal, un 0 si esta en su peso ideal y un 1 si tiene sobrepeso .Te recomiendo que uses constantes para devolver estos valores. esMayorDeEdad(): indica si es mayor de edad, devuelve un booleano. comprobarSexo(char sexo): comprueba que el sexo introducido es correcto. Si no es correcto, sera H. No sera visible al exterior. toString(): devuelve toda la información del objeto.

http://www.discoduroderoer.es/ejercicios­propuestos­y­resueltos­programacion­orientado­a­objetos­java/

2/10

26/12/2014

Ejercicios propuestos y resueltos programación orientado a objetos Java | Disco Duro de Roer

generaDNI(): genera un numero aleatorio de 8 cifras, genera a partir de este su número su letra correspondiente.  Este  método  sera  invocado  cuando  se  construya  el  objeto.  Puedes  dividir  el método para que te sea más fácil. No será visible al exterior. Métodos set de cada parámetro, excepto de DNI. Ahora, crea una clase ejecutable que haga lo siguiente: Pide por teclado el nombre, la edad, sexo, peso y altura. Crea 3 objetos de la clase anterior, el primer objeto obtendrá las anteriores variables pedidas por teclado, el segundo objeto obtendrá todos los anteriores menos el peso y la altura y el último por defecto, para este último utiliza los métodos set para darle a los atributos un valor. Para cada objeto, deberá comprobar si esta en su peso ideal, tiene sobrepeso o por debajo de su peso ideal con un mensaje. Indicar para cada objeto si es mayor de edad. Por último, mostrar la información de cada objeto. Puedes usar métodos en la clase ejecutable, para que os sea mas fácil.

Spoiler

Seleccionar

Mostrar

2) Haz una clase llamada Password que siga las siguientes condiciones: Que tenga los atributos longitud y contraseña . Por defecto, la longitud sera de 8. Los constructores serán los siguiente: Un constructor por defecto. Un constructor con la longitud que nosotros le pasemos. Generara una contraseña aleatoria con esa longitud. Los métodos que implementa serán: esFuerte(): devuelve un booleano si es fuerte o no, para que sea fuerte debe tener mas de 2 mayúsculas, mas de 1 minúscula y mas de 5 números. generarPassword():  genera la contraseña del objeto con la longitud que tenga. Método get para contraseña y longitud. Método set para longitud. Ahora, crea una clase clase ejecutable: Crea un array de Passwords con el tamaño que tu le indiques por teclado. Crea un bucle que cree un objeto para cada posición del array. Indica también por teclado la longitud de los Passwords (antes de bucle). Crea  otro  array  de  booleanos  donde  se  almacene  si  el  password  del  array  de  Password  es  o  no fuerte (usa el bucle anterior). Al final, muestra la contraseña y si es o no fuerte (usa el bucle anterior). Usa este simple formato: contraseña1 valor_booleano1 contraseña2 valor_bololeano2 …

Spoiler

Seleccionar

Mostrar

3) Crearemos una supeclase llamada Electrodomestico con las siguientes características:

http://www.discoduroderoer.es/ejercicios­propuestos­y­resueltos­programacion­orientado­a­objetos­java/

3/10

26/12/2014

Ejercicios propuestos y resueltos programación orientado a objetos Java | Disco Duro de Roer

Sus atributos son precio base, color, consumo energético (letras entre A y F) y peso. Indica que se podrán heredar. Por defecto, el color sera blanco, el consumo energético sera F, el precioBase es de 100 € y el peso de 5 kg. Usa constantes para ello. Los colores disponibles son blanco, negro, rojo, azul y gris. No importa si el nombre esta en mayúsculas o en minúsculas. Los constructores que se implementaran serán Un constructor por defecto. Un constructor con el precio y peso. El resto por defecto. Un constructor con todos los atributos. Los métodos que implementara serán: Métodos get de todos los atributos. comprobarConsumoEnergetico(char letra): comprueba que la letra es correcta, sino es correcta usara la letra por defecto. Se invocara al crear el objeto y no sera visible. comprobarColor(String color): comprueba que el color es correcto, sino lo es usa el color por defecto. Se invocara al crear el objeto y no sera visible. precioFinal(): según el consumo energético, aumentara su precio, y según su tamaño, también. Esta es la lista de precios: Letra

Precio

A

100 €

B

80 €

C

60 €

D

50 €

E

30 €

F

10 €

Tamaño

Precio

Entre 0 y 19 kg

10 €

Entre 20 y 49 kg

50 €

Entre 50 y 79 kg

80 €

Mayor que 80 kg

100 €

Crearemos una subclase llamada Lavadora con las siguientes características: Su atributo es carga, ademas de los atributos heredados. Por defecto, la carga es de 5 kg. Usa una constante para ello. Los constructores que se implementaran serán: Un constructor por defecto. Un constructor con el precio y peso. El resto por defecto. Un constructor con la carga y el resto de atributos heredados. Recuerda que debes llamar al constructor de la clase padre. Los métodos que se implementara serán: Método get de carga. precioFinal():, si tiene una carga mayor de 30 kg, aumentara el precio 50 €, sino es así no se incrementara el precio. Llama al método padre y añade el código necesario. Recuerda que las

http://www.discoduroderoer.es/ejercicios­propuestos­y­resueltos­programacion­orientado­a­objetos­java/

4/10

26/12/2014

Ejercicios propuestos y resueltos programación orientado a objetos Java | Disco Duro de Roer

condiciones que hemos visto en la clase Electrodomestico también deben afectar al precio. Crearemos una subclase llamada Television con las siguientes características: Sus atributos son resolución (en pulgadas) y sintonizador TDT (booleano), ademas de los atributos heredados. Por defecto, la resolución sera de 20 pulgadas y el sintonizador sera false. Los constructores que se implementaran serán: Un constructor por defecto. Un constructor con el precio y peso. El resto por defecto. Un constructor con la resolución, sintonizador TDT y el resto de atributos heredados. Recuerda que debes llamar al constructor de la clase padre. Los métodos que se implementara serán: Método get de resolución y sintonizador TDT. precioFinal(): si tiene una resolución mayor de 40 pulgadas, se incrementara el precio un 30% y si tiene un sintonizador TDT incorporado, aumentara 50 €. Recuerda que las condiciones que hemos visto en la clase Electrodomestico también deben afectar al precio. Ahora crea una clase ejecutable que realice lo siguiente: Crea un array de Electrodomesticos de 10 posiciones. Asigna a cada posición un objeto de las clases anteriores con los valores que desees. Ahora, recorre este array y ejecuta el método precioFinal(). Deberás mostrar el precio de cada clase, es decir, el precio de todas las televisiones por un lado, el de las lavadoras por otro y la suma de los Electrodomesticos (puedes crear objetos Electrodomestico, pero recuerda que Television y Lavadora también son electrodomésticos). Recuerda el uso operador instanceof. Por ejemplo, si tenemos un Electrodomestico con un precio final de 300, una lavadora de 200 y una televisión de 500, el resultado final sera de 1000 (300+200+500) para electrodomésticos, 200 para lavadora y 500 para televisión.

Spoiler

Seleccionar

Mostrar

4) Crearemos una clase llamada Serie con las siguientes características: Sus atributos son titulo, numero de temporadas, entregado, genero y creador. Por defecto, el numero de temporadas es de 3 temporadas y entregado false. El resto de atributos serán valores por defecto según el tipo del atributo. Los constructores que se implementaran serán: Un constructor por defecto.

http://www.discoduroderoer.es/ejercicios­propuestos­y­resueltos­programacion­orientado­a­objetos­java/

5/10

26/12/2014

Ejercicios propuestos y resueltos programación orientado a objetos Java | Disco Duro de Roer

Un constructor con el titulo y creador. El resto por defecto. Un constructor con todos los atributos, excepto de entregado. Los métodos que se implementara serán: Métodos get de todos los atributos, excepto de entregado. Métodos set de todos los atributos, excepto de entregado. Sobrescribe los métodos toString. Crearemos una clase Videojuego con las siguientes características: Sus atributos son titulo, horas estimadas, entregado, genero y compañia. Por  defecto,  las  horas  estimadas  serán  de  10  horas  y  entregado  false.  El  resto  de  atributos  serán valores por defecto según el tipo del atributo. Los constructores que se implementaran serán: Un constructor por defecto. Un constructor con el titulo y horas estimadas. El resto por defecto. Un constructor con todos los atributos, excepto de entregado. Los métodos que se implementara serán: Métodos get de todos los atributos, excepto de entregado. Métodos set de todos los atributos, excepto de entregado. Sobrescribe los métodos toString. Como vemos, en principio, las clases anteriores no son padre­hija, pero si tienen en común, por eso vamos a hacer una interfaz llamada Entregable con los siguientes métodos: entregar(): cambia el atributo prestado a true. devolver(): cambia el atributo prestado a false. isEntregado(): devuelve el estado del atributo prestado. Método compareTo  (Object  a),  compara  las  horas  estimadas  en  los  videojuegos  y  en  las  series  el numero de temporadas. Como parámetro que tenga un objeto, no es necesario que implementes la interfaz Comparable. Recuerda el uso de los casting de objetos. Implementa los anteriores métodos en las clases Videojuego y Serie. Ahora crea una aplicación ejecutable y realiza lo siguiente: Crea dos arrays, uno de Series y otro de Videojuegos, de 5 posiciones cada uno. Crea  un  objeto  en  cada  posición  del  array,  con  los  valores  que  desees,  puedes  usar  distintos constructores. Entrega algunos Videojuegos y Series con el método entregar(). Cuenta cuantos Series y Videojuegos hay entregados. Al contarlos, devuélvelos. Por  último,  indica  el  Videojuego  tiene  más  horas  estimadas  y  la  serie  con  mas  temporadas. Muestralos en pantalla con toda su información (usa el método toString()).

Spoiler

Seleccionar

Mostrar

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

http://www.discoduroderoer.es/ejercicios­propuestos­y­resueltos­programacion­orientado­a­objetos­java/

6/10

26/12/2014

Ejercicios propuestos y resueltos programación orientado a objetos Java | Disco Duro de Roer

Publicarlo en Facebook 37 37 37 Otras entradas interesantes: 37 37 Ejercicios propuestos y resueltos de ficheros en Java 37 Ejercicios propuestos y resueltos básicos listas enlazadas en Java 37 37 Ejercicios propuestos y resueltos métodos de Java 37 Ejercicios propuestos y resueltos básicos Java Publicarlo en Twitter Ejercicios propuestos y resueltos arrays de Java 1 1 1 1 1 1 1 1 1 Califica este post (21 Votos)

Publicarlo en Google+

Como utilizar Javadoc

15 Comments

Tipos enumerados en Java

1   2   »

German DIC 21, 2013 @ 21:06:18

Excelente articulo, me encantaría que incluyeran alguno avanzado, de tipo diseño orientado a objetos con java, con ejercicios y resueltos. Desde ya gracias y ojala se pueda hacer lo que les comento! 35 Calificar

JOSETXU ELGRAN AUSENTE ENE 09, 2014 @ 06:35:04

Un saludo, Traffic Club y El Talco Negro. 11

http://www.discoduroderoer.es/ejercicios­propuestos­y­resueltos­programacion­orientado­a­objetos­java/

7/10

26/12/2014

Ejercicios propuestos y resueltos programación orientado a objetos Java | Disco Duro de Roer

Calificar

Fran ENE 18, 2014 @ 14:13:00

Muchas gracias por tú tiempo y tú trabajo me parece genial la forma de enfocar el tema de java y sus ejemplos. Enhorabuena. 32 Calificar

oliver ENE 28, 2014 @ 19:33:26

En el ejemplo 2, el de la clase Password el compilador da un par de errores que no consigo solventar: 1. Dentro de la clase Password: public Password (){ this(LONG_DEF); } 2. Dentro de la clase ejecutable, dentro del bucle for: listaPassword[i]=new Password(longitud); 31 Calificar

Pikao ENE 28, 2014 @ 19:59:44

Hola, el primero puede ser porque la clase no la has llamado igual que la clase (deben ser iguales) y el segundo a consecuencia del primero. Si sigues teniendo problemas, puedes enviarme el proyecto a mi direccion de email [email protected] y le echo un ojo. Un saludo y gracias por tu mensaje. 11 Calificar

oliver ENE 29, 2014 @ 16:15:34

Solucionado. La historia era por el “void” que tenía en el constructor con el parámetro longitud: public void Password (int longitud){ this.longitud = longitud; contraseña = generarPassword(); } que en el constructor sin parámetro no lo tenía: public Password(){ this.longitud = LONG_DEF; } Una vez quitado ese void en el primero ya me compila. Gracias. 20 Calificar

Alejandra ABR 26, 2014 @ 19:41:00

hola! alguien me podria ayudar a hacer el programa que genera paswords en c++?? la verdad solo tengo la idea pero no logro hacerlo.

http://www.discoduroderoer.es/ejercicios­propuestos­y­resueltos­programacion­orientado­a­objetos­java/

8/10

26/12/2014

Ejercicios propuestos y resueltos programación orientado a objetos Java | Disco Duro de Roer

gracias! 00 Calificar

moi JUN 02, 2014 @ 21:00:53

El 3º no funciona bien da un par de problemas al compilar PD: me encanta la pagina 02 Calificar

Pikao JUN 02, 2014 @ 22:07:30

Hola, ya esta solucionado, gracias por avisarme. Un saludo. 12 Calificar

carlos perez iglesias JUN 16, 2014 @ 22:47:18

Muy bueno, a finales del año pasado hice un curso (2 meses) y aquí me pongo a 100. Gracias por compartir. Un saludo. 21 Calificar 1   2   »

Deja un comentario Tu nombre: * Tu E­mail: * Tu sitio Web:

 Código CAPTCHA *

http://www.discoduroderoer.es/ejercicios­propuestos­y­resueltos­programacion­orientado­a­objetos­java/

9/10

26/12/2014

Ejercicios propuestos y resueltos programación orientado a objetos Java | Disco Duro de Roer

Enviar comentario

http://www.discoduroderoer.es/ejercicios­propuestos­y­resueltos­programacion­orientado­a­objetos­java/

10/10

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF