La estructura del programa es una clase padre (vehiculo) con 3 clases hijas (motocicleta,automovil y camion) y de estas 3 hijas, automovil y camion usan la interfaz capacidadlimite, y todo ello evidentemente "gobernado" por el main
aqui les dejo el codigo del program que me da fallo, ayudenme por favor T.T
Código:
Gracias de antemano. import java.io.*; class Vehiculo{ protected String fabricante; protected String modelo; protected int año; protected double kilometraje; public Vehiculo(String fabricante, String modelo, int año, double kilometraje){ this.fabricante=fabricante; this.modelo=modelo; this.año=año; this.kilometraje=kilometraje; } public String getFabricante(){ return fabricante; } public String getModelo(){ return modelo; } public int getAño(){ return año; } public double getKilometraje(){ return kilometraje; } } interface CapacidadLimite{ int an=5; int av=7; int c=3; } class Motocicleta extends Vehiculo{ private String uso; public Motocicleta(String fabricante, String modelo, int año, double kilometraje, String uso){ super(fabricante, modelo, año, kilometraje); this.uso=uso; } public String getUso(){ return uso; } } class Automovil extends Vehiculo implements CapacidadLimite{ private String estilo; public Automovil(String fabricante, String modelo, int año, double kilometraje, String estilo){ super(fabricante, modelo, año, kilometraje); this.estilo=estilo; } public String getEstilo(){ return estilo; } public void AN(){ System.out.println("La capacidad limite para un automovil normal es "+an+" pasajeros"); } public void AV(){ System.out.println("La capacidad limite para un automovil vans es "+av+" pasajeros"); } } class Camion extends Vehiculo implements CapacidadLimite{ private int remolques; private boolean pasajeros; public Camion(String fabricante, String modelo, int año, double kilometraje, int remolques, boolean pasajeros){ super(fabricante, modelo, año, kilometraje); this.remolques=remolques; this.pasajeros=pasajeros; } public int getRemolques(){ return remolques; } public boolean getPasajeros(){ return pasajeros; } public void seguridad(){ if(pasajeros==true){ System.out.println("La seguridad de este camion es baja."); } else{ System.out.println("La seguridad de este camion es alta."); } } public void CL(){ System.out.println("La capacidad limite del camion es "+c+" pasajeros"); } } class Menu{ public static void main(String[]args)throws IOException{ BufferedReader leer=new BufferedReader(new InputStreamReader (System.in)); Vehiculo Objeto=null; //Vehiculo Objeto; //Objeto = V1; System.out.println("Introduce 'm' para motocicleta, 'a' para automovil, 'c' para camion: "); char c; c=leer.readLine().charAt(0); switch(c){ case 'm': Objeto=new Motocicleta("Derbi","Varial", 2001, 5000, "Utilizada en urbano"); System.out.println("Fabricante: "+Objeto.getFabricante()); System.out.println("Modelo: "+Objeto.getModelo()); System.out.println("Año de fabricacion: "+Objeto.getAño()); System.out.println("Kilometraje: "+Objeto.getKilometraje()); System.out.println("Uso: "+Objeto.getUso()); break; case 'a': Objeto=new Automovil("BMV", "V12", 2000, 50000,"Deportivo"); System.out.println("Fabricante: "+Objeto.getFabricante()); System.out.println("Modelo: "+Objeto.getModelo()); System.out.println("Año de fabricacion: "+Objeto.getAño()); System.out.println("Kilometraje: "+Objeto.getKilometraje()); System.out.println("Estilo: "+Objeto.getEstilo()); System.out.println("Si el coche es vans introduce el caracter 's' de lo contrario introduce 'n': "); char a= leer.readLine().charAt(0); if(a=='s'){ Objeto.AV(); } else{ Objeto.AN(); } break; case 'c': int n; boolean b=true; System.out.println("Indique los pasajeros que van a viajar en el camion: "); n =Integer.parseInt(leer.readLine()); if(a<3){ b=false; } Objeto=new Camion("Mercedes", "r59", 1991, 100000, 2,b); System.out.println("Fabricante: "+Objeto.getFabricante()); System.out.println("Modelo: "+Objeto.getModelo()); System.out.println("Año de fabricacion: "+Objeto.getAño()); System.out.println("Kilometraje: "+Objeto.getKilometraje()); System.out.println("Nº de remolques: "+Objeto.getRemolques()); Objeto.seguridad(); Objeto.CL(); break; } } }