Ejercicios de Introducción a Java y entorno de desarrollo

1.1. Proyecto básico en Eclipse

Crear un proyecto en Eclipse de nombre sesion1. Introducir los siguientes elementos en dicho proyecto:

a) Establecer como directorio de fuentes un directorio src, y como directorio de destino un directorio bin.

b) Crear un paquete es.ua.jtech.sesion01.

c) Introducir las clases Java que encontrarás en las plantillas de esta sesión en el proyecto. Cada clase deberá copiarse al paquete que corresponda.

d) Introducir en el proyecto la librería JAR que encontrarás en las plantillas de esta sesión. Hacer que esta librería forme parte del classpath del proyecto.

e) Añadidle una nueva clase llamada Prueba en el paquete es.ua.jtech.sesion01, que tenga el siguiente código (NO COPIEIS Y PEGUEIS EL CODIGO, TECLEADLO A MANO).

package es.ua.jtech.jhd.sesion1.ejerc1;    

import es.ua.j2ee.animales.*;  
import es.ua.j2ee.insectos.Mosca;  
import es.ua.j2ee.plantas.*;    

public class Prueba   
{  	
	public static void main(String[] args)   	
	{    		
		// Datos del insecto  		
		Mosca m = new Mosca();  		
		m.nombre();  		
		int edad3 = m.edad() + 2;  		
		System.out.println ("Edad Insecto: " + edad3);    		
		
		// Datos del animal  		
		Elefante e = new Elefante();  		
		e.nombre();  		
		int edad2 = e.edad() + 5;  		
		System.out.println ("Edad Animal: " + edad2);    		
		
		// Datos de la planta  		
		Geranio g = new Geranio();  		
		g.nombre();  		
		int edad5 = g.edad();  		
		System.out.println ("Edad Planta: " + edad5);  	
	}  
}

f) Ejecutad la nueva clase Prueba.



1.2.Cálculo del factorial

Añadid a la clase Factorial.java el código necesario para que calcule el factorial de un número. Intentad hacer tanto la versión recursiva como la iterativa:

    factorialRec(n) = n ยท factorialRec(n - 1)     

Cuando n sea 0 se devuelve 1 y se termina la recursividad.

Comprobad que los programas devuelven lo mismo, dejando en el main() el código necesario para ver el resultado de los factoriales de 30, 5, 1 y 0, por ejemplo.



1.3.Ecuación de segundo grado

Añadid a la clase Ecuacion.java el código necesario (dentro del método solucion(...)) para que resuelva una ecuación de segundo grado ax² + bx + c = 0:

El método solucion(...) devuelve un array de dos doubles, que son las dos soluciones al sistema. Si no hubiese solución, se devolvería null.

public double[] solucion(...)  
{     
	double []sol = new double[2];     
	... //Codigo para resolver el sistema     
	return sol;  
}

Probad que el ejemplo funciona para cada uno de los casos:

Algunos no tienen soluciones reales, otros tienen coeficientes cero que pueden dar problemas al dividir, etc. Controlar o no cada uno de estos casos se deja como optativo.



1.4.Clases abstractas y herencia

Vamos a ver un ejemplo de clases abstractas y herencia. Se tiene una clase abstracta Persona, de la que hereda una clase Hombre para definir los métodos abstractos. Además, se tiene otra clase Anciano, que hereda de Hombre para modificar el valor de alguno de esos métodos. La clase principal del grupo es Ej4, que se encarga de ejecutarlo todo. Se pide:

a) Probar a ejecutar la clase Ej4 y comprobar el resultado producido.

b) Convertid el ejemplo para utilizar interfaces en lugar de clases abstractas. Es decir, haced que Persona sea una interfaz (para ello no deberá implementar ningún método, sino dejarlos definidos).

c) Indicad los cambios que sufren las clases Hombre y Anciano con eso. Probad el ejemplo con los cambios y comprobad que el resultado que devuelve es el mismo.