El precio total de un coche se calcula aplicando un IVA al precio marcado.
Este IVA puede variar (por defecto el IVA es del 16%), pero será siempre el mismo para todos los coches.
Proporcionad métodos para cambiar el IVA, calcular el precio total y mostrar el coche como cadena de caracteres con el formato "nombre
public class EjCoches { static public void main(String[] args) { Coche[] cs = { new Coche(" Seat Panda", 15000), new CocheImportado("Ferrari T-R", 65000, 8000), new Coche("Seat Toledo", 21000), new CocheImportado("Jaguar XK", 41000, 6000), new CocheImportado("Porche GT3", 44000, 7000) }; for(Coche c : cs) { System.out.println(c); } // Cambiamos el iva a todos los coches Coche.setPiva(0.18); System.out.println("Con IVA de 18%"); for(Coche c : cs) { System.out.println(c); } } }
Y aquí los resultados del test:
Seat Panda -> 17400.0 Ferrari T-R -> 83400.0 Seat Toledo -> 24360.0 Jaguar XK -> 53560.0 Porche GT3 -> 58040.0 Con IVA de 18% Seat Panda -> 17700.0 Ferrari T-R -> 84700.0 Seat Toledo -> 24780.0 Jaguar XK -> 54380.0 Porche GT3 -> 58920.0
Ahora os dejo el código de la clase Coche:
public class Coche { private String nombre; private double precio; public static double PIVA = 0.16; public Coche(String n, double p) { nombre = n; precio = p; } public double precioTotal() { return precio*(1+PIVA); } public static void setPiva( double i) { PIVA = i; } public String Nombre() { return nombre; } public String toString() { return this.Nombre() + " -> " + this.precioTotal(); } }Y el de la clase CocheImportado:
public class CocheImportado extends Coche{ private double homologacion; public CocheImportado(String nombre, double p, double h) { super(nombre, p); homologacion = h; } public double precioTotal() { return super.precioTotal()+homologacion; } }Lo único que hay que recalcar es que para la clase Coche Importado hemos usado un "super(nombre, p);" en el constructor. Ésto lo que dice es algo como "CocheImportado es un coche con las caracterñisticas nombre y p" pero que además tiene otro valor más. También hemos usado super en el método precioTotal. De esa forma calculamos el precioTotal del coche tal y como lo calcularía el otro método. De esta forma nos ahorramos bastante que escribir ^^ Saludos ;)
No hay comentarios:
Publicar un comentario