Java - quien me ayuda con este ejercicio

 
Vista:

quien me ayuda con este ejercicio

Publicado por toninho (1 intervención) el 14/04/2012 23:44:28
Ejercicio
En una empresa existen los empleados, que se caracteriza por un nombre, un número de empleado, una fecha de nacimiento, un estado civil y un sueldo base. Los empleados definen una clase en la que se definen los siguientes métodos:
- Constructor: que asigna los valores de nombre, fecha de nacimiento, estado civil, sueldo y calcula el número de empleado a partir de un contador (variable estática que siempre irá aumentando en 1).
- Calcular nuevo sueldo: Este método calcula el nuevo sueldo de un empleado cuando se produce un aumento de sueldo. El porcentaje de aumento viene como parámetro.
- Devolución de datos de empleado: Este método devuelve el contenido de los datos del empleado en un String.
- Devolver Signo Zodiacal: Este método devuelve el signo zodiacal que le corresponde a cada empleado.
Además, en esta empresa existen los ejecutivos, los cuales son empleados. Los ejecutivos son una clase que se les podría aplicar todos los datos y métodos de la clase Empleado y añadir algunos, como por ejemplo el hecho de que un Ejecutivo tiene un presupuesto asignado para su gestión (no mayor a 100.000.000), un cargo y el gasto del presupuesto asignado.
Esta clase ejecutivos tiene los siguientes métodos:
- Constructor: que asigna los valores del ejecutivo y como empleado.
- Devolución de datos del ejecutivo: Este método devuelve el contenido de todos los datos del ejecutivo en un String.
- Obtener saldo del presupuesto asignado: Este método devuelve el saldo que le queda al ejecutivo, tomé en cuenta presupuesto asignado y presupuesto gastado.

Esta empresa desea ocupar esta declaración de clases para obtener a través de un menú iterativo y accediendo a los métodos los siguientes requerimientos.
1. Ingresar datos a un empleado
2. Ver datos de un empleado
3. Ingresar datos a un ejecutivo
4. Ver datos de un ejecutivo
5. Calcular nuevo sueldo de un empleado (ingresar porcentaje de aumento)
6. Calcular nuevo sueldo de un ejecutivo (ingresar porcentaje de aumento)
7. Actualizar el gasto de presupuesto de un ejecutivo, de acuerdo a un valor de gasto que se ingresa y se suma al que ya tiene.
8. Obtener los datos del empleado y su signo Zodiacal.
9. Obtener los datos de un ejecutivo más el saldo que le queda de su presupuesto

y yo tengo esto (clase empleado)

import java.util.Scanner;
public class empleado {

String nombre;
static int numeroEmpleado;
static fecha fechaNacimiento;
String estadoCivil;
int sueldoBase;

empleado(){
nombre="nn";
numeroEmpleado=numeroEmpleado + 1;
fechaNacimiento= new fecha();
estadoCivil="soltero";
sueldoBase=0;
}
empleado (String nombre, int numeroEmpleado, fecha fechaNacimiento, String estadoCivil, int sueldoBase){
this.nombre=nombre;
this.estadoCivil=estadoCivil;
this.fechaNacimiento=fechaNacimiento;
this.sueldoBase=sueldoBase;
this.numeroEmpleado=numeroEmpleado + 1;
}

//metodo calcula aumento de sueldo
public void calcularsueldo(int aumentoSueldo){
System.out.println("ingrese porcentaje a aumentar");

sueldoBase=sueldoBase*aumentoSueldo/100+sueldoBase;
System.out.println("el nuevo sueldo es"+sueldoBase);
}
//devolver metodos en un String
public String toString() {
return "Num. empleado " + numeroEmpleado + " Nombre: " + nombre +
" Sueldo: " + sueldoBase;
}
//metodo Signo Zodiacal
public void signozodiaco(int dia, int mes){

switch(mes) {
case 1:
if (dia>=21)
System.out.println("Acuario");
else
System.out.println("Capricornio");
break;
case 2:
if (dia>=20)
System.out.println("Piscis");
else
System.out.println("Acuario");
break;
case 3:
if (dia>=21)
System.out.println("Aries");
else
System.out.println("Piscis");
break;
case 4:
if (dia>=21)
System.out.println("Tauro");
else
System.out.println("Aries");
break;
case 5:
if (dia>=21)
System.out.println("Geminis");
else
System.out.println("Tauro");
break;
case 6:
if (dia>=21)
System.out.println("Cancer");
else
System.out.println("Geminis");
break;
case 7:
if (dia>=23)
System.out.println("Leo");
else
System.out.println("Cancer");
break;
case 8:
if (dia>=23)
System.out.println("Virgo");
else
System.out.println("Leo");
break;
case 9:
if (dia>=23)
System.out.println("Libra");
else
System.out.println("Virgo");
break;
case 10:
if (dia>=23)
System.out.println("Escorpio");
else
System.out.println("Libra");
break;
case 11:
if (dia>=23)
System.out.println("Sagitario");
else
System.out.println("Escorpio");
break;
case 12:
if (dia>=22)
System.out.println("Capricornio");
else
System.out.println("Sagitario");
break;
default:
System.out.println("Mes no existente");
}


}

public void ingresardatosE(){
Scanner e=new Scanner (System.in);
System.out.print("Ingrese Nombre: ");
nombre=e.nextLine();
System.out.print("Estado civil: ");
estadoCivil=e.nextLine();
System.out.print("Ingrese Sueldo Base: ");
sueldoBase=e.nextInt();
// System.out.print("Ingrese Fecha Nacimiento: ");
// fechaNacimiento=e.nextInt();

}
public void mostrardatosE(){
System.out.println("Nombre:"+nombre);
System.out.println("Estado Civil:"+estadoCivil);
System.out.println("Sueldo Base:"+sueldoBase);
}

}

(clase ejecutivo)
import java.util.Scanner;
public class ejecutivo extends empleado {
int presupuesto;

public void aPresupuesto(int p){
presupuesto=p;
}

public void ingresardatosEj(){
Scanner ej=new Scanner (System.in);
System.out.print("Ingrese Nombre: ");
nombre=ej.nextLine();
System.out.print("Estado civil: ");
estadoCivil=ej.nextLine();
System.out.print("Ingrese Sueldo Base: ");
sueldoBase=ej.nextInt();
// System.out.print("Ingrese Fecha Nacimiento: ");
// fechaNacimiento=e.nextInt();

}
public void mostrardatosej(){
System.out.println("Nombre:"+nombre);
System.out.println("Estado Civil:"+estadoCivil);
System.out.println("Sueldo Base:"+sueldoBase);
}
}
(y en la clase principal tengo esto)
import java.util.Scanner;
public class clasePrincipal {
public static void main(String[]args){
Scanner a=new Scanner (System.in);
float b;

int op =1;
empleado e1= new empleado();
empleado e2= new empleado();
empleado e3= new empleado();
empleado e4= new empleado();

ejecutivo ej1= new ejecutivo();
ejecutivo ej2= new ejecutivo();
ejecutivo ej3= new ejecutivo();
ejecutivo ej4= new ejecutivo();
ejecutivo ej5= new ejecutivo();

//Menu
do{
System.out.println(" Menu");
System.out.println("========================");
System.out.println("1--Ingresar datos de un Empleado");
System.out.println("2--Ver datos de un Empleado");
System.out.println("3--Ingresar datos de un Ejecutivo");
System.out.println("4--Ver datos de un Ejecutivo");
System.out.println("5--Calcular nuevo sueldo de un Empleado(ingresar porcentaje de aumento)");
System.out.println("6--Calcular nuevo sueldo de un Ejecutivo(ingresar porcentaje de aumento)");
System.out.println("7--Actualizar el gasto de presupuesto de un ejecutivo");
System.out.println("8--Obtener los datos del empleado y su signo Zodiacal.");
System.out.println("9--Obtener los datos de un ejecutivo más el saldo que le queda de su presupuesto");
System.out.println("Para salir ingrese 0");
System.out.println("Ingrese opcion");
op=a.nextInt();

switch(op){
case 1:e1.ingresardatosE(); break;
case 2:e1.mostrardatosE();break;
case 3:ej1.ingresardatosEj();break;
case 4:ej1.mostrardatosej();break;
case 5:e1.calcularsueldo(0);
case 0: break;
default: System.out.println("Opcion no valida");
}
}while(op!=0);
}
}


Ya y mi problema es que la clase ejecutivo no contine los mismos datos de la del empleado se supone que es herencia si alguien me ayuda con mi codigo seria de gran ayuda de ante mano gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder