import java.util.*;
public class Main {
public static void main
(String[] args
) { Scanner entrada
= new Scanner
(System.
in);
// 1. Leemos la operación (Agregar o Actualizar)
String operacion
= entrada.
nextLine();
// 2. Leemos la cadena con todos los datos
String productoCadena
= entrada.
nextLine(); String[] lista
= productoCadena.
split(" ");
// Convertimos los datos de la lista a las variables correspondientes
int codigo
= Integer.
parseInt(lista
[0]); int kilometraje
= Integer.
parseInt(lista
[4]);
// Creamos el objeto auto y la base de datos
Automovil auto = new Automovil(codigo, marca, placa, modelo, kilometraje);
BDAutomovil baseDatos = new BDAutomovil();
// 3. Lógica de las operaciones (Simplificada)
boolean existe = baseDatos.verificarExistencia(auto.getCodigo());
if (operacion.equals("Agregar")) {
if (existe == false) {
baseDatos.agregar(auto);
baseDatos.imprimirLista();
} else {
}
}
else if (operacion.equals("Actualizar")) {
if (existe == true) {
baseDatos.actualizar(auto);
baseDatos.imprimirLista();
} else {
}
}
}
}
class Automovil {
private int codigo;
private int kilometraje;
public Automovil
(int codigo,
String marca,
String placa,
String modelo,
int kilometraje
) { this.codigo = codigo;
this.marca = marca;
this.placa = placa;
this.modelo = modelo;
this.kilometraje = kilometraje;
}
// Getters básicos
public int getCodigo() { return codigo; }
public String getMarca
() { return marca
; } public String getPlaca
() { return placa
; } public String getModelo
() { return modelo
; } public int getKilometraje() { return kilometraje; }
}
class BDAutomovil {
private HashMap
<Integer, Automovil
> inventario
= new HashMap
<>();
public BDAutomovil() {
// Datos de ejemplo que ya estaban en tu código
inventario.put(1, new Automovil(1, "Mazda", "123-abc", "MX-5", 0));
inventario.put(2, new Automovil(2, "vw", "321-cba", "jetta", 23));
}
public boolean verificarExistencia(int codigo) {
return inventario.containsKey(codigo);
}
public void agregar(Automovil auto) {
inventario.put(auto.getCodigo(), auto);
}
public void actualizar(Automovil auto) {
inventario.put(auto.getCodigo(), auto);
}
public void imprimirLista() {
// Un for-each sencillo para imprimir, muy común en clase
for (Automovil a : inventario.values()) {
System.
out.
println(a.
getCodigo() + " " + a.
getMarca() + " " + a.
getPlaca() + " " + a.
getModelo() + " " + a.
getKilometraje()); }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgZW50cmFkYSA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CgogICAgICAgIC8vIDEuIExlZW1vcyBsYSBvcGVyYWNpw7NuIChBZ3JlZ2FyIG8gQWN0dWFsaXphcikKICAgICAgICBTdHJpbmcgb3BlcmFjaW9uID0gZW50cmFkYS5uZXh0TGluZSgpOwoKICAgICAgICAvLyAyLiBMZWVtb3MgbGEgY2FkZW5hIGNvbiB0b2RvcyBsb3MgZGF0b3MKICAgICAgICBTdHJpbmcgcHJvZHVjdG9DYWRlbmEgPSBlbnRyYWRhLm5leHRMaW5lKCk7CiAgICAgICAgU3RyaW5nW10gbGlzdGEgPSBwcm9kdWN0b0NhZGVuYS5zcGxpdCgiICIpOwoKICAgICAgICAvLyBDb252ZXJ0aW1vcyBsb3MgZGF0b3MgZGUgbGEgbGlzdGEgYSBsYXMgdmFyaWFibGVzIGNvcnJlc3BvbmRpZW50ZXMKICAgICAgICBpbnQgY29kaWdvID0gSW50ZWdlci5wYXJzZUludChsaXN0YVswXSk7CiAgICAgICAgU3RyaW5nIG1hcmNhID0gbGlzdGFbMV07CiAgICAgICAgU3RyaW5nIHBsYWNhID0gbGlzdGFbMl07CiAgICAgICAgU3RyaW5nIG1vZGVsbyA9IGxpc3RhWzNdOwogICAgICAgIGludCBraWxvbWV0cmFqZSA9IEludGVnZXIucGFyc2VJbnQobGlzdGFbNF0pOwoKICAgICAgICAvLyBDcmVhbW9zIGVsIG9iamV0byBhdXRvIHkgbGEgYmFzZSBkZSBkYXRvcwogICAgICAgIEF1dG9tb3ZpbCBhdXRvID0gbmV3IEF1dG9tb3ZpbChjb2RpZ28sIG1hcmNhLCBwbGFjYSwgbW9kZWxvLCBraWxvbWV0cmFqZSk7CiAgICAgICAgQkRBdXRvbW92aWwgYmFzZURhdG9zID0gbmV3IEJEQXV0b21vdmlsKCk7CgogICAgICAgIC8vIDMuIEzDs2dpY2EgZGUgbGFzIG9wZXJhY2lvbmVzIChTaW1wbGlmaWNhZGEpCiAgICAgICAgYm9vbGVhbiBleGlzdGUgPSBiYXNlRGF0b3MudmVyaWZpY2FyRXhpc3RlbmNpYShhdXRvLmdldENvZGlnbygpKTsKCiAgICAgICAgaWYgKG9wZXJhY2lvbi5lcXVhbHMoIkFncmVnYXIiKSkgewogICAgICAgICAgICBpZiAoZXhpc3RlID09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICBiYXNlRGF0b3MuYWdyZWdhcihhdXRvKTsKICAgICAgICAgICAgICAgIGJhc2VEYXRvcy5pbXByaW1pckxpc3RhKCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkVSUk9SIik7CiAgICAgICAgICAgIH0KICAgICAgICB9IAogICAgICAgIGVsc2UgaWYgKG9wZXJhY2lvbi5lcXVhbHMoIkFjdHVhbGl6YXIiKSkgewogICAgICAgICAgICBpZiAoZXhpc3RlID09IHRydWUpIHsKICAgICAgICAgICAgICAgIGJhc2VEYXRvcy5hY3R1YWxpemFyKGF1dG8pOwogICAgICAgICAgICAgICAgYmFzZURhdG9zLmltcHJpbWlyTGlzdGEoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRVJST1IiKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKY2xhc3MgQXV0b21vdmlsIHsKICAgIHByaXZhdGUgaW50IGNvZGlnbzsKICAgIHByaXZhdGUgU3RyaW5nIG1hcmNhOwogICAgcHJpdmF0ZSBTdHJpbmcgcGxhY2E7CiAgICBwcml2YXRlIFN0cmluZyBtb2RlbG87CiAgICBwcml2YXRlIGludCBraWxvbWV0cmFqZTsKCiAgICBwdWJsaWMgQXV0b21vdmlsKGludCBjb2RpZ28sIFN0cmluZyBtYXJjYSwgU3RyaW5nIHBsYWNhLCBTdHJpbmcgbW9kZWxvLCBpbnQga2lsb21ldHJhamUpIHsKICAgICAgICB0aGlzLmNvZGlnbyA9IGNvZGlnbzsKICAgICAgICB0aGlzLm1hcmNhID0gbWFyY2E7CiAgICAgICAgdGhpcy5wbGFjYSA9IHBsYWNhOwogICAgICAgIHRoaXMubW9kZWxvID0gbW9kZWxvOwogICAgICAgIHRoaXMua2lsb21ldHJhamUgPSBraWxvbWV0cmFqZTsKICAgIH0KCiAgICAvLyBHZXR0ZXJzIGLDoXNpY29zCiAgICBwdWJsaWMgaW50IGdldENvZGlnbygpIHsgcmV0dXJuIGNvZGlnbzsgfQogICAgcHVibGljIFN0cmluZyBnZXRNYXJjYSgpIHsgcmV0dXJuIG1hcmNhOyB9CiAgICBwdWJsaWMgU3RyaW5nIGdldFBsYWNhKCkgeyByZXR1cm4gcGxhY2E7IH0KICAgIHB1YmxpYyBTdHJpbmcgZ2V0TW9kZWxvKCkgeyByZXR1cm4gbW9kZWxvOyB9CiAgICBwdWJsaWMgaW50IGdldEtpbG9tZXRyYWplKCkgeyByZXR1cm4ga2lsb21ldHJhamU7IH0KfQoKY2xhc3MgQkRBdXRvbW92aWwgewogICAgcHJpdmF0ZSBIYXNoTWFwPEludGVnZXIsIEF1dG9tb3ZpbD4gaW52ZW50YXJpbyA9IG5ldyBIYXNoTWFwPD4oKTsKCiAgICBwdWJsaWMgQkRBdXRvbW92aWwoKSB7CiAgICAgICAgLy8gRGF0b3MgZGUgZWplbXBsbyBxdWUgeWEgZXN0YWJhbiBlbiB0dSBjw7NkaWdvCiAgICAgICAgaW52ZW50YXJpby5wdXQoMSwgbmV3IEF1dG9tb3ZpbCgxLCAiTWF6ZGEiLCAiMTIzLWFiYyIsICJNWC01IiwgMCkpOwogICAgICAgIGludmVudGFyaW8ucHV0KDIsIG5ldyBBdXRvbW92aWwoMiwgInZ3IiwgIjMyMS1jYmEiLCAiamV0dGEiLCAyMykpOwogICAgfQoKICAgIHB1YmxpYyBib29sZWFuIHZlcmlmaWNhckV4aXN0ZW5jaWEoaW50IGNvZGlnbykgewogICAgICAgIHJldHVybiBpbnZlbnRhcmlvLmNvbnRhaW5zS2V5KGNvZGlnbyk7CiAgICB9CgogICAgcHVibGljIHZvaWQgYWdyZWdhcihBdXRvbW92aWwgYXV0bykgewogICAgICAgIGludmVudGFyaW8ucHV0KGF1dG8uZ2V0Q29kaWdvKCksIGF1dG8pOwogICAgfQoKICAgIHB1YmxpYyB2b2lkIGFjdHVhbGl6YXIoQXV0b21vdmlsIGF1dG8pIHsKICAgICAgICBpbnZlbnRhcmlvLnB1dChhdXRvLmdldENvZGlnbygpLCBhdXRvKTsKICAgIH0KCiAgICBwdWJsaWMgdm9pZCBpbXByaW1pckxpc3RhKCkgewogICAgICAgIC8vIFVuIGZvci1lYWNoIHNlbmNpbGxvIHBhcmEgaW1wcmltaXIsIG11eSBjb23Dum4gZW4gY2xhc2UKICAgICAgICBmb3IgKEF1dG9tb3ZpbCBhIDogaW52ZW50YXJpby52YWx1ZXMoKSkgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oYS5nZXRDb2RpZ28oKSArICIgIiArIGEuZ2V0TWFyY2EoKSArICIgIiArIGEuZ2V0UGxhY2EoKSArICIgIiArIGEuZ2V0TW9kZWxvKCkgKyAiICIgKyBhLmdldEtpbG9tZXRyYWplKCkpOwogICAgICAgIH0KICAgIH0KfQ==