// Clase Automovil (sin public)
class Automovil {
// Atributos
private double kilometraje;
// Constructor
this .marca = marca;
this .placa = placa;
this .modelo = modelo;
this .kilometraje = kilometraje;
}
// Métodos
public void mostrarInformacion( ) {
System .
out .
println ( "Marca: " + marca
) ; System .
out .
println ( "Placa: " + placa
) ; System .
out .
println ( "Modelo: " + modelo
) ; System .
out .
println ( "Kilometraje: " + kilometraje
+ " km" ) ; }
public void actualizarKilometraje( double nuevoKilometraje) {
this .kilometraje = nuevoKilometraje;
System .
out .
println ( "Kilometraje actualizado a: " + kilometraje
+ " km" ) ; }
// Getters
return marca;
}
return placa;
}
return modelo;
}
public double getKilometraje( ) {
return kilometraje;
}
}
// Clase principal
public class Main {
public static void main
( String [ ] args
) {
// Creación de objetos
Automovil auto1 = new Automovil( "Toyota" , "ABC-123" , "Corolla" , 45000 ) ;
Automovil auto2 = new Automovil( "Honda" , "XYZ-789" , "Civic" , 32000 ) ;
// Uso de métodos
System .
out .
println ( "--- Información del auto 1 ---" ) ; auto1.mostrarInformacion ( ) ;
System .
out .
println ( "\n --- Actualizando kilometraje ---" ) ; auto1.actualizarKilometraje ( 47000 ) ;
System .
out .
println ( "\n --- Información del auto 2 ---" ) ; auto2.mostrarInformacion ( ) ;
}
}
Ly8gQ2xhc2UgQXV0b21vdmlsIChzaW4gcHVibGljKQpjbGFzcyBBdXRvbW92aWwgewogICAgCiAgICAvLyBBdHJpYnV0b3MKICAgIHByaXZhdGUgU3RyaW5nIG1hcmNhOwogICAgcHJpdmF0ZSBTdHJpbmcgcGxhY2E7CiAgICBwcml2YXRlIFN0cmluZyBtb2RlbG87CiAgICBwcml2YXRlIGRvdWJsZSBraWxvbWV0cmFqZTsKICAgIAogICAgLy8gQ29uc3RydWN0b3IKICAgIHB1YmxpYyBBdXRvbW92aWwoU3RyaW5nIG1hcmNhLCBTdHJpbmcgcGxhY2EsIFN0cmluZyBtb2RlbG8sIGRvdWJsZSBraWxvbWV0cmFqZSkgewogICAgICAgIHRoaXMubWFyY2EgPSBtYXJjYTsKICAgICAgICB0aGlzLnBsYWNhID0gcGxhY2E7CiAgICAgICAgdGhpcy5tb2RlbG8gPSBtb2RlbG87CiAgICAgICAgdGhpcy5raWxvbWV0cmFqZSA9IGtpbG9tZXRyYWplOwogICAgfQogICAgCiAgICAvLyBNw6l0b2RvcwogICAgcHVibGljIHZvaWQgbW9zdHJhckluZm9ybWFjaW9uKCkgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTWFyY2E6ICIgKyBtYXJjYSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJQbGFjYTogIiArIHBsYWNhKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk1vZGVsbzogIiArIG1vZGVsbyk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJLaWxvbWV0cmFqZTogIiArIGtpbG9tZXRyYWplICsgIiBrbSIpOwogICAgfQogICAgCiAgICBwdWJsaWMgdm9pZCBhY3R1YWxpemFyS2lsb21ldHJhamUoZG91YmxlIG51ZXZvS2lsb21ldHJhamUpIHsKICAgICAgICB0aGlzLmtpbG9tZXRyYWplID0gbnVldm9LaWxvbWV0cmFqZTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIktpbG9tZXRyYWplIGFjdHVhbGl6YWRvIGE6ICIgKyBraWxvbWV0cmFqZSArICIga20iKTsKICAgIH0KICAgIAogICAgLy8gR2V0dGVycwogICAgcHVibGljIFN0cmluZyBnZXRNYXJjYSgpIHsKICAgICAgICByZXR1cm4gbWFyY2E7CiAgICB9CiAgICAKICAgIHB1YmxpYyBTdHJpbmcgZ2V0UGxhY2EoKSB7CiAgICAgICAgcmV0dXJuIHBsYWNhOwogICAgfQogICAgCiAgICBwdWJsaWMgU3RyaW5nIGdldE1vZGVsbygpIHsKICAgICAgICByZXR1cm4gbW9kZWxvOwogICAgfQogICAgCiAgICBwdWJsaWMgZG91YmxlIGdldEtpbG9tZXRyYWplKCkgewogICAgICAgIHJldHVybiBraWxvbWV0cmFqZTsKICAgIH0KfQoKLy8gQ2xhc2UgcHJpbmNpcGFsCnB1YmxpYyBjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICAKICAgICAgICAvLyBDcmVhY2nDs24gZGUgb2JqZXRvcwogICAgICAgIEF1dG9tb3ZpbCBhdXRvMSA9IG5ldyBBdXRvbW92aWwoIlRveW90YSIsICJBQkMtMTIzIiwgIkNvcm9sbGEiLCA0NTAwMCk7CiAgICAgICAgQXV0b21vdmlsIGF1dG8yID0gbmV3IEF1dG9tb3ZpbCgiSG9uZGEiLCAiWFlaLTc4OSIsICJDaXZpYyIsIDMyMDAwKTsKICAgICAgICAKICAgICAgICAvLyBVc28gZGUgbcOpdG9kb3MKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0tLSBJbmZvcm1hY2nDs24gZGVsIGF1dG8gMSAtLS0iKTsKICAgICAgICBhdXRvMS5tb3N0cmFySW5mb3JtYWNpb24oKTsKICAgICAgICAKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlxuLS0tIEFjdHVhbGl6YW5kbyBraWxvbWV0cmFqZSAtLS0iKTsKICAgICAgICBhdXRvMS5hY3R1YWxpemFyS2lsb21ldHJhamUoNDcwMDApOwogICAgICAgIAogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiXG4tLS0gSW5mb3JtYWNpw7NuIGRlbCBhdXRvIDIgLS0tIik7CiAgICAgICAgYXV0bzIubW9zdHJhckluZm9ybWFjaW9uKCk7CiAgICB9Cn0K