Ejercicio Java: Calcular el precio del seguro de 4 personas. Clase en otro archivo diferente al main
Ejercicio Java: Calcular el precio del seguro de 4 personas. Clase en otro archivo diferente al main

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

Una compañía de seguros de automóvil cobra por una póliza a terceros un precio base de 300 €. Además, puede aplicar a este precio una serie de suplementos según las características del asegurado. P.ej.:

  • Si el asegurado tiene menos de 25 años, pagará un suplemento de 150€.

  • Si el asegurado tiene menos de 5 años de antigüedad de carnet, pagará un suplemento de 100€.

  • Ambos suplementos pueden acumularse si el asegurado cumple ambas condiciones.

Queremos desarrollar un programa que calcule el precio final a pagar para cualquier posible asegurado. Para ello crearemos una clase llamada CSeguroAutomovil con el código necesario para calcular dicho precio final.

Los datos del asegurado que nos interesan son el DNI, nombre, edad y antigüedad de su carnet de conducir. La edad y la antigüedad deben definirse como byte.

Se pide desarrollar el código de forma que tengamos un proyecto llamado PSeguroAutomovil, con dos ficheros independientes: uno para la clase y otro que contenga el main. Además, deberemos probar el código para cuatro asegurados con características distintas entre sí, y visualizar toda la información relativa a cada uno en dos columnas con alineación  a derecha e izquieda.

De forma obligatoria, emplearemos un constructor defectivo y otro explícito.

package pseguroautomovil;
public class PSeguroAutomovil {
    public static void main(String[] args) {
      CseguroAutomovil asegurado1 = new CseguroAutomovil ();
      CseguroAutomovil asegurado2 = new CseguroAutomovil ();
      
     asegurado1.asignarNombre ("Pepe");
     asegurado1.asignarDNI("361591r");
     asegurado1.asignaredad( (byte) 34);
     asegurado1.asignarantiguedad((byte) 9);
     
     asegurado2.asignarNombre ("Pepe");
     asegurado2.asignarDNI("3614778r");
     asegurado2.asignaredad( (byte) 21);
     asegurado2.asignarantiguedad((byte) 7);
      
      CseguroAutomovil asegurado3 = new CseguroAutomovil  ("Juan", "3648114f", (byte) 48, (byte) 4);
      CseguroAutomovil asegurado4 = new CseguroAutomovil  ("Juan", "3648114f", (byte) 20, (byte) 3);
      
     System.out.println("Asegurado 1");
     System.out.println("Nombre =            "+asegurado1.obtenerNombre());
     System.out.println("DNI =               "+asegurado1.obtenerDNI());
     System.out.println("Edad =              "+asegurado1.obteneredad());
     System.out.println("Antigüedad =        "+asegurado1.obtenerantiguedad());
     System.out.println("Precio =            "+asegurado1.obtenerprecio()+" €");
     
     System.out.println("n");
     System.out.println("Asegurado 2");
     System.out.println("Nombre =            "+asegurado2.obtenerNombre());
     System.out.println("DNI =               "+asegurado2.obtenerDNI());
     System.out.println("Edad =              "+asegurado2.obteneredad());
     System.out.println("Antigüedad =        "+asegurado2.obtenerantiguedad());
     System.out.println("Precio =            "+asegurado2.obtenerprecio()+" €");
     
     System.out.println("n");
     System.out.println("Asegurado 3");
     System.out.println("Nombre =            "+asegurado3.obtenerNombre());
     System.out.println("DNI =               "+asegurado3.obtenerDNI());
     System.out.println("Edad =              "+asegurado3.obteneredad());
     System.out.println("Antigüedad =        "+asegurado3.obtenerantiguedad());
     System.out.println("Precio =            "+asegurado3.obtenerprecio()+" €");
     
     System.out.println("n");
     System.out.println("Asegurado 4");
     System.out.println("Nombre =            "+asegurado4.obtenerNombre());
     System.out.println("DNI =               "+asegurado4.obtenerDNI());
     System.out.println("Edad =              "+asegurado4.obteneredad());
     System.out.println("Antigüedad =        "+asegurado4.obtenerantiguedad());
     System.out.println("Precio =            "+asegurado4.obtenerprecio()+" €");
    
}
}

package pseguroautomovil;
public class CseguroAutomovil {
   private String nombre;
   private String DNI;
   private byte edad;
   private byte antiguedad;
   private float precioFinal;
   
   //constructor por defecto
public CseguroAutomovil(){
    
}

//constructor implicito creado por mi mismo
public CseguroAutomovil(String nombre, String DNI, byte edad, byte antiguedad){
    asignarNombre(nombre);
    asignarDNI(DNI);
    asignaredad (edad);
    asignarantiguedad (antiguedad);           
}
public void asignarNombre(String Nasegurado){
    nombre=Nasegurado;
}
public String obtenerNombre(){
   return nombre;  
}
public void asignarDNI(String dni){
    DNI=dni;
}
public String obtenerDNI(){
   return DNI;  
}
public void asignaredad (byte años){
    edad=años;
}
public byte obteneredad(){
   return edad;  
}
public void asignarantiguedad (byte ant){
    antiguedad=ant;
}
public byte obtenerantiguedad(){
   return antiguedad;  
}
public void precio (float precioF){
   precioF=precioFinal;
    }
public float obtenerprecio(){
  float base=300;
 if (edad > 25 && antiguedad < 5)
     precioFinal= base + 250;
 else{
     if (edad < 25)
         precioFinal = base + 150;
     else
         if (antiguedad < 5)
             precioFinal = base + 100;
         else
             precioFinal = base;
     }        
return precioFinal;
}
}







¿Qué te ha parecido este post?

¡Haz clic en una estrella para calificarla!

Puntuación media 5 / 5. Recuento de votos: 1

¡No hay votos hasta ahora! Sé el primero en calificar esta publicación.

No te pierdas otros artículos ...

¡Síguenos en las redes sociales!

¡Lamentamos que esta publicación no te haya sido útil!

¡Permítanos mejorar esta publicación!

¿Cuéntanos cómo podemos mejorar esta publicación?

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.