class Placa {
this .numero = numero;
this .estado = estado;
}
}
class Kilometraje {
double cantidad;
public Kilometraje( double cantidad) {
this .cantidad = cantidad;
}
}
public class Main {
public static void main
( String [ ] args
) { // Crear un objeto de prueba para verificar que todo funciona
Placa placa = new Placa( "ABC123" , "Nuevo León" ) ;
Kilometraje kilometraje = new Kilometraje( 55000 ) ;
Automovil auto = new Automovil( "Toyota" , "Corolla" , "Rojo" , "SN123456" , "XLE" , 2020 , 16 , 1200.5 , placa, kilometraje) ;
auto.mostrarDatos ( ) ;
}
}
class Automovil {
int anio;
int rin;
double peso;
Placa placa;
Kilometraje kilometraje;
public Automovil
( String marca,
String modelo,
String color,
String numeroSerie,
String version,
int anio,
int rin,
double peso, Placa placa, Kilometraje kilometraje
) { this .marca = marca;
this .modelo = modelo;
this .color = color;
this .numeroSerie = numeroSerie;
this .version = version;
this .anio = anio;
this .rin = rin;
this .peso = peso;
this .placa = placa;
this .kilometraje = kilometraje;
}
public void mostrarDatos( ) {
System .
out .
println ( "Marca: " + marca
) ; System .
out .
println ( "Modelo: " + modelo
) ; System .
out .
println ( "Color: " + color
) ; System .
out .
println ( "Número de Serie: " + numeroSerie
) ; System .
out .
println ( "Versión: " + version
) ; System .
out .
println ( "Año: " + anio
) ; System .
out .
println ( "Tamaño del rin: " + rin
) ; System .
out .
println ( "Peso: " + peso
+ " kg" ) ; System .
out .
println ( "Placa: " + placa.
numero + " (" + placa.
estado + ")" ) ; System .
out .
println ( "Kilometraje: " + kilometraje.
cantidad + " km" ) ; }
}
Y2xhc3MgUGxhY2EgewogICAgU3RyaW5nIG51bWVybzsKICAgIFN0cmluZyBlc3RhZG87CgogICAgcHVibGljIFBsYWNhKFN0cmluZyBudW1lcm8sIFN0cmluZyBlc3RhZG8pIHsKICAgICAgICB0aGlzLm51bWVybyA9IG51bWVybzsKICAgICAgICB0aGlzLmVzdGFkbyA9IGVzdGFkbzsKICAgIH0KfQoKY2xhc3MgS2lsb21ldHJhamUgewogICAgZG91YmxlIGNhbnRpZGFkOwoKICAgIHB1YmxpYyBLaWxvbWV0cmFqZShkb3VibGUgY2FudGlkYWQpIHsKICAgICAgICB0aGlzLmNhbnRpZGFkID0gY2FudGlkYWQ7CiAgICB9Cn0KcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIC8vIENyZWFyIHVuIG9iamV0byBkZSBwcnVlYmEgcGFyYSB2ZXJpZmljYXIgcXVlIHRvZG8gZnVuY2lvbmEKICAgICAgICBQbGFjYSBwbGFjYSA9IG5ldyBQbGFjYSgiQUJDMTIzIiwgIk51ZXZvIExlw7NuIik7CiAgICAgICAgS2lsb21ldHJhamUga2lsb21ldHJhamUgPSBuZXcgS2lsb21ldHJhamUoNTUwMDApOwogICAgICAgIEF1dG9tb3ZpbCBhdXRvID0gbmV3IEF1dG9tb3ZpbCgiVG95b3RhIiwgIkNvcm9sbGEiLCAiUm9qbyIsICJTTjEyMzQ1NiIsICJYTEUiLCAyMDIwLCAxNiwgMTIwMC41LCBwbGFjYSwga2lsb21ldHJhamUpOwoKICAgICAgICBhdXRvLm1vc3RyYXJEYXRvcygpOwogICAgfQp9CgpjbGFzcyBBdXRvbW92aWwgewogICAgU3RyaW5nIG1hcmNhOwogICAgU3RyaW5nIG1vZGVsbzsKICAgIFN0cmluZyBjb2xvcjsKICAgIFN0cmluZyBudW1lcm9TZXJpZTsKICAgIFN0cmluZyB2ZXJzaW9uOwogICAgaW50IGFuaW87CiAgICBpbnQgcmluOwogICAgZG91YmxlIHBlc287CiAgICBQbGFjYSBwbGFjYTsKICAgIEtpbG9tZXRyYWplIGtpbG9tZXRyYWplOwoKICAgIHB1YmxpYyBBdXRvbW92aWwoU3RyaW5nIG1hcmNhLCBTdHJpbmcgbW9kZWxvLCBTdHJpbmcgY29sb3IsIFN0cmluZyBudW1lcm9TZXJpZSwgU3RyaW5nIHZlcnNpb24sIGludCBhbmlvLCBpbnQgcmluLCBkb3VibGUgcGVzbywgUGxhY2EgcGxhY2EsIEtpbG9tZXRyYWplIGtpbG9tZXRyYWplKSB7CiAgICAgICAgdGhpcy5tYXJjYSA9IG1hcmNhOwogICAgICAgIHRoaXMubW9kZWxvID0gbW9kZWxvOwogICAgICAgIHRoaXMuY29sb3IgPSBjb2xvcjsKICAgICAgICB0aGlzLm51bWVyb1NlcmllID0gbnVtZXJvU2VyaWU7CiAgICAgICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjsKICAgICAgICB0aGlzLmFuaW8gPSBhbmlvOwogICAgICAgIHRoaXMucmluID0gcmluOwogICAgICAgIHRoaXMucGVzbyA9IHBlc287CiAgICAgICAgdGhpcy5wbGFjYSA9IHBsYWNhOwogICAgICAgIHRoaXMua2lsb21ldHJhamUgPSBraWxvbWV0cmFqZTsKICAgIH0KCiAgICBwdWJsaWMgdm9pZCBtb3N0cmFyRGF0b3MoKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJNYXJjYTogIiArIG1hcmNhKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk1vZGVsbzogIiArIG1vZGVsbyk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJDb2xvcjogIiArIGNvbG9yKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk7Dum1lcm8gZGUgU2VyaWU6ICIgKyBudW1lcm9TZXJpZSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJWZXJzacOzbjogIiArIHZlcnNpb24pOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQcOxbzogIiArIGFuaW8pOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVGFtYcOxbyBkZWwgcmluOiAiICsgcmluKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlBlc286ICIgKyBwZXNvICsgIiBrZyIpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUGxhY2E6ICIgKyBwbGFjYS5udW1lcm8gKyAiICgiICsgcGxhY2EuZXN0YWRvICsgIikiKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIktpbG9tZXRyYWplOiAiICsga2lsb21ldHJhamUuY2FudGlkYWQgKyAiIGttIik7CiAgICB9Cn0=