class Automovil {
// Atributos
int modelo;
double kilometraje;
// Constructor
public Automovil
(String marca,
String placa,
int modelo,
double kilometraje
) { this.marca = marca;
this.placa = placa;
this.modelo = modelo;
this.kilometraje = kilometraje;
}
// Métodos
public void registrarAuto() {
System.
out.
println("Auto registrado: " + marca
+ " " + modelo
); }
public void actualizarKilometraje(double nuevoKilometraje) {
this.kilometraje = nuevoKilometraje;
System.
out.
println("Kilometraje actualizado a: " + kilometraje
); }
public void mostrarDatos() {
System.
out.
println("Marca: " + marca
+ ", Placa: " + placa
+ ", Modelo: " + modelo + ", Kilometraje: " + kilometraje);
}
// Ejemplo de uso
public static void main
(String[] args
) { Automovil auto1 = new Automovil("Toyota", "ABC123", 2020, 15000.5);
auto1.mostrarDatos();
auto1.actualizarKilometraje(16000);
}
}
Y2xhc3MgQXV0b21vdmlsIHsKICAgIC8vIEF0cmlidXRvcwogICAgU3RyaW5nIG1hcmNhOwogICAgU3RyaW5nIHBsYWNhOwogICAgaW50IG1vZGVsbzsKICAgIGRvdWJsZSBraWxvbWV0cmFqZTsKCiAgICAvLyBDb25zdHJ1Y3RvcgogICAgcHVibGljIEF1dG9tb3ZpbChTdHJpbmcgbWFyY2EsIFN0cmluZyBwbGFjYSwgaW50IG1vZGVsbywgZG91YmxlIGtpbG9tZXRyYWplKSB7CiAgICAgICAgdGhpcy5tYXJjYSA9IG1hcmNhOwogICAgICAgIHRoaXMucGxhY2EgPSBwbGFjYTsKICAgICAgICB0aGlzLm1vZGVsbyA9IG1vZGVsbzsKICAgICAgICB0aGlzLmtpbG9tZXRyYWplID0ga2lsb21ldHJhamU7CiAgICB9CgogICAgLy8gTcOpdG9kb3MKICAgIHB1YmxpYyB2b2lkIHJlZ2lzdHJhckF1dG8oKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJBdXRvIHJlZ2lzdHJhZG86ICIgKyBtYXJjYSArICIgIiArIG1vZGVsbyk7CiAgICB9CgogICAgcHVibGljIHZvaWQgYWN0dWFsaXphcktpbG9tZXRyYWplKGRvdWJsZSBudWV2b0tpbG9tZXRyYWplKSB7CiAgICAgICAgdGhpcy5raWxvbWV0cmFqZSA9IG51ZXZvS2lsb21ldHJhamU7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJLaWxvbWV0cmFqZSBhY3R1YWxpemFkbyBhOiAiICsga2lsb21ldHJhamUpOwogICAgfQoKICAgIHB1YmxpYyB2b2lkIG1vc3RyYXJEYXRvcygpIHsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk1hcmNhOiAiICsgbWFyY2EgKyAiLCBQbGFjYTogIiArIHBsYWNhICsgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICIsIE1vZGVsbzogIiArIG1vZGVsbyArICIsIEtpbG9tZXRyYWplOiAiICsga2lsb21ldHJhamUpOwogICAgfQoKICAgIC8vIEVqZW1wbG8gZGUgdXNvCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgQXV0b21vdmlsIGF1dG8xID0gbmV3IEF1dG9tb3ZpbCgiVG95b3RhIiwgIkFCQzEyMyIsIDIwMjAsIDE1MDAwLjUpOwogICAgICAgIGF1dG8xLm1vc3RyYXJEYXRvcygpOwogICAgICAgIGF1dG8xLmFjdHVhbGl6YXJLaWxvbWV0cmFqZSgxNjAwMCk7CiAgICB9Cn0K