[ Foro de Java ]

ayuda no se km hacer este ejrcicio

19-Dec-2018 18:19
Invitado (leyber)
1 Respuestas

Una empresa que se dedica a la venta de productos desea desarrollar un programa que le permita automatizar sus procesos; para lo cual se debe implementar una clase base y sus respectivas clases derivadas.

1. Empleado. Clase básica que describe a un empleado. Incluye sus datos personales (nombre, apellidos, DNI, dirección) y su salario.

   Constructores para definir correctamente un empleado, a partir de su nombre, apellidos, DNI, dirección y salario.
   Un método polimórfico para Incrementar salario

La empresa tiene 3 clases de empleados:

   Secretario: Tiene despacho e incrementa su salario un 5% anual.

   Método para ingresar datos
   Constructor
   Imprimir (debe imprimir sus datos personales y su puesto en la empresa).

2. Vendedor: Tiene teléfono móvil, área de venta y porcentaje que se lleva de las ventas en concepto de comisiones. Incrementa su salario un 10% anual.

Tendrá, al menos, las siguientes funciones miembro:

   Constructor
   Imprimir (debe imprimir sus datos personales y su área de venta en la empresa).
   Método para Ingresar un nuevo cliente.

3.  Jefe de zona: Tiene un área de la que es responsable para realizar las ventas. Incrementa su salario un 20% anual.

Tendrá, al menos, las siguientes funciones miembro:

   Constructor.
   Ingresar nueva información(Datos personales y el área del que es responsable).
   Imprimir (debe imprimir sus datos personales y su área de venta en la empresa).

El programa debe cumplir con los siguientes requerimientos:

   En el  ejercicio se debe representar la herencia.
   Deberá crearse un método Polimórfico para incrementar el salario anualmente.
   Almacenar los empleados en una lista de objetos (ArrayList)
   Se debe mostrar el valor total que se paga por todos los empleados que tiene la empresa.
   La información debe manipularse por medio de un formulario en Java y utilizar los componentes que sean necesarios dentro del mismo (cuadros de textos, botones,


22-Dec-2018 17:29
Invitado (Maximo)

Es larguísimo, te paso lo que hice yo que también tuve ese ejercicio en un curso.


package empresa51;

/**
*
* @author Maximo
*/
public abstract class Empleado { //Primera Clase ya que todos son empleados
   
   protected String Nombre;
   protected String Apellido;
   protected double DNI;
   protected String Direccion;
   protected int AñoAntiguedad;
   protected double TelContacto;
   protected double Salario;
   protected String Supervisor;
   
   public Empleado(String nombre, String apellido, double DNI, String direccion, int añoAntiguedad, double telContacto, int salario, String supervisor){
       this.Nombre = nombre;
       this.Apellido = apellido;
       this.DNI = DNI;
       this.Direccion = direccion;
       this.AñoAntiguedad = añoAntiguedad;
       this.TelContacto = telContacto;
       this.Salario = salario;
       this.Supervisor = supervisor;
   }
   
   public abstract void AumentarSueldo ();
   public abstract void CambiarSupervisor (String supervisor);
   
   @Override
   public String toString(){
       return "Nombre y Apellido: "+ Nombre +" "+ Apellido +" / DNI: "+ DNI +" / Direccion: "+ Direccion +" / Años de Antigüedad: "+ AñoAntiguedad +" / Teléfono de Contacto: "+ TelContacto +" / Salario: $"+ Salario +" / Supervisor: "+ Supervisor;
   }
   
   
}//Fin de la clase Empleado. Ahora debes crear otra clase:


package empresa51;

/**
*
* @author Maximo
*/
public class Secretario extends Empleado {
   
   private int NumDespacho;
   private double NumFax;
   
   public Secretario (String nombre, String apellido, double DNI, String direccion, int añoAntiguedad, double telContacto, int salario, String supervisor, int numDespacho, double numFax){
       
       super (nombre, apellido, DNI, direccion, añoAntiguedad, telContacto, salario, supervisor);
       this.NumDespacho = numDespacho;
       this.NumFax = numFax;
   }
   
   @Override
   public void AumentarSueldo (){
       this.Salario = 1.05 * this.Salario;
   }
   
   @Override
   public void CambiarSupervisor(String supervisor) {
       this.Supervisor = supervisor;
   }
           
    @Override
   public String toString(){
       String añoAntiguedad = null;
       return "Secretario -> Nombre y Apellido: "+ Nombre +" "+ Apellido +" / DNI: "+ DNI +" / Dirección: "+ Direccion +" / Años de Antigüedad: "+ añoAntiguedad +" / Telefono de Contacto: "+ TelContacto +" / número de Fax: "+ NumFax +" / Salario: $"+ Salario +" / Supervisor: "+ Supervisor +" / número de Despacho: "+ NumDespacho;
   }
   
}//Fin de la Clase Secretario. Crea otra clase para el Jefe o el puesto que tengas que poner...
package empresa51;

import java.util.ArrayList;

/**
*
* @author psm1
*/
public class JefeZona extends Empleado{
   
   private String Secretario;
   ArrayList <String> Vendedores = new ArrayList <>();
   private String MarcaModelo;
   private String Matricula;
   private final int NumDespacho;
   
   public JefeZona (String nombre, String apellido, double DNI, String direccion, int añoAntiguedad, double telContacto, int salario, String supervisor, String secretario, String marcaModelo, String matricula, int numDespacho){
       super (nombre, apellido, DNI, direccion, añoAntiguedad, telContacto, salario, supervisor);
       this.Secretario = secretario;
       this.MarcaModelo = marcaModelo;
       this.Matricula = matricula;
       this.NumDespacho = numDespacho;
   }
   
   public void CambiarSecretario (String secretario){
       this.Secretario = secretario;
   }
   
   public void CambiarCoche (String marcaModelo, String matricula){
       this.MarcaModelo = marcaModelo;
       this.Matricula = matricula;
   }

   @Override
   public void AumentarSueldo() {
       this.Salario = 1.2 * this.Salario;
   }

   @Override
   public void CambiarSupervisor(String supervisor) {
       this.Supervisor = supervisor;
   }
   
   public void AltaVendedor (String vendedor){
       Vendedores.add(vendedor);
   }
   
   public void BajaVendedor (String vendedor){
       Vendedores.remove(vendedor);
   }
   
   @Override
   public String toString(){
       return "Jefe de Zona -> Nombre y Apellido: "+ Nombre +" "+ Apellido +" / DNI: "+ DNI +" / Dirección: "+ Direccion +" / Años de Antigüedad: "+ AñoAntiguedad +" / Teléfono de Contacto: "+ TelContacto +" / Salario: $"+ Salario +" / Supervisor: "+ Supervisor +" / Secretario: "+ Secretario +" / Numero de Despacho: "+ NumDespacho +" / Auto: "+ MarcaModelo +" Matricula: "+ Matricula +" / Vendedores a su Cargo: "+ Vendedores;
   }
}// Fin de la clase Jefe


package empresa51;

/**
*
* @author psm1
*/
public class Vendedor extends Empleado{
 
   private String MarcaModelo;
   private String Matricula;
   private int TelMovil;
   private String AreaVenta;
   private double PorcentajeVenta;
   
   public Vendedor (String nombre, String apellido, double DNI, String direccion, int añoAntiguedad, double telContacto, int salario, String supervisor, String marcaModelo, String matricula, int telMovil, String areaVenta, double porcentajeVenta){
       super (nombre, apellido, DNI, direccion, añoAntiguedad, telContacto, salario, supervisor);
       this.MarcaModelo = marcaModelo;
       this.Matricula = matricula;
       this.AreaVenta = areaVenta;
       this.TelMovil = telMovil;
       this.PorcentajeVenta = porcentajeVenta;
   }

   @Override
   public void AumentarSueldo() {
       this.Salario = 1.1 * this.Salario;
   }

   @Override
   public void CambiarSupervisor(String supervisor) {
       this.Supervisor = supervisor;
   }
   
   public void CambiarCoche (String marcaModelo, String matricula){
       this.MarcaModelo = marcaModelo;
       this.Matricula = matricula;
   }
   
   @Override
   public String toString (){
       return "Vendedor -> Nombre y Apellido: "+ Nombre +" "+ Apellido +" / DNI: "+ DNI +" / Dirección: "+ Direccion +" / Años de Antigüedad: "+ AñoAntiguedad +" / Telefono de Contacto: "+ TelContacto +" / Telefono Movil: "+ TelMovil +" / Salario: $"+ Salario +" / Supervisor: "+ Supervisor +" / Area de Venta: "+ AreaVenta +" / Porcentaje de Venta: "+ PorcentajeVenta*100 +"% / Auto: "+ MarcaModelo +" Matricula: "+ Matricula;

   }
   
   
}//Fin de la Clase vendedor

//Ahora creas el main:

package empresa51;

/**
*
* @author Maximo
*/
public class Empresa51 {

   public static void main(String[] args) {
       
       Vendedor Vendedor1 = new Vendedor ("Juan", "Ramirez", 25891657, "Alberdi 345", 8, 43215678, 35000, "Mario Gomez", "Volskwage Gol", "AA 345 QW", 1543218765, "Palermo", 0.05);
       
       System.out.println (Vendedor1);
       
       Vendedor1.AumentarSueldo();
       Vendedor1.CambiarCoche("Ford Ka", "AB 456 ZY");
       Vendedor1.CambiarSupervisor("Ana Gonzalez");
       
       System.out.println(Vendedor1);
       
       Secretario Secretario1 = new Secretario ("Pedro", "Braun", 30145678, "José M. Moreno 1234", 4, 49085674, 20000, "Ramiro De Piero", 34, 3493415);
       
       System.out.println(Secretario1);
       
       Secretario1.AumentarSueldo();
       Secretario1.CambiarSupervisor("Juan Sebastian Martin");
       
       System.out.println(Secretario1);
       
       JefeZona JefeZona1 = new JefeZona ("Pedro", "Martinelli", 14568901, "Av. Rivadavia 7892", 25, 42138904, 80000, " ", "Rodrigo Caceres", "Ford Fiesta", "AG 348 AA", 20);
       System.out.println(JefeZona1);
       JefeZona1.AumentarSueldo();
       JefeZona1.CambiarCoche("Peugeot 308", "AA 846 BE");
       JefeZona1.CambiarSecretario("Gastón Nas");
       JefeZona1.CambiarSupervisor("Ramiro Trejo");
       System.out.println(JefeZona1);
       
       JefeZona1.AltaVendedor("Juan Ramirez");
       JefeZona1.AltaVendedor("Claudia Fernandez");
       JefeZona1.AltaVendedor("Esteban Petersen");
       JefeZona1.AltaVendedor("Mariela Pietro");
       
       System.out.println (JefeZona1);
       
       JefeZona1.BajaVendedor("Esteban Petersen");
       System.out.println (JefeZona1);
       
       
   }
   
}


//Espero que te sirva copialo y cambia las variables que creas necesarias, por lo menos con esto ya tenes una base con la cual trabajar. Yo lo presente asi. Cumple con lo pedido por lo tanto no esta mal. Cada cual lo codificara a su manera el tema es que responda o solucione el problema.
Saludos y pues bueno nos estamos viendo.
       








(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)