fork download
  1. import java.util.*;
  2.  
  3. public class Main {
  4. public static void main(String[] args) {
  5. Scanner entrada = new Scanner(System.in);
  6.  
  7. // 1. Leemos la operación (Agregar o Actualizar)
  8. String operacion = entrada.nextLine();
  9.  
  10. // 2. Leemos la cadena con todos los datos
  11. String productoCadena = entrada.nextLine();
  12. String[] lista = productoCadena.split(" ");
  13.  
  14. // Convertimos los datos de la lista a las variables correspondientes
  15. int codigo = Integer.parseInt(lista[0]);
  16. String marca = lista[1];
  17. String placa = lista[2];
  18. String modelo = lista[3];
  19. int kilometraje = Integer.parseInt(lista[4]);
  20.  
  21. // Creamos el objeto auto y la base de datos
  22. Automovil auto = new Automovil(codigo, marca, placa, modelo, kilometraje);
  23. BDAutomovil baseDatos = new BDAutomovil();
  24.  
  25. // 3. Lógica de las operaciones (Simplificada)
  26. boolean existe = baseDatos.verificarExistencia(auto.getCodigo());
  27.  
  28. if (operacion.equals("Agregar")) {
  29. if (existe == false) {
  30. baseDatos.agregar(auto);
  31. baseDatos.imprimirLista();
  32. } else {
  33. System.out.println("ERROR");
  34. }
  35. }
  36. else if (operacion.equals("Actualizar")) {
  37. if (existe == true) {
  38. baseDatos.actualizar(auto);
  39. baseDatos.imprimirLista();
  40. } else {
  41. System.out.println("ERROR");
  42. }
  43. }
  44. }
  45. }
  46.  
  47. class Automovil {
  48. private int codigo;
  49. private String marca;
  50. private String placa;
  51. private String modelo;
  52. private int kilometraje;
  53.  
  54. public Automovil(int codigo, String marca, String placa, String modelo, int kilometraje) {
  55. this.codigo = codigo;
  56. this.marca = marca;
  57. this.placa = placa;
  58. this.modelo = modelo;
  59. this.kilometraje = kilometraje;
  60. }
  61.  
  62. // Getters básicos
  63. public int getCodigo() { return codigo; }
  64. public String getMarca() { return marca; }
  65. public String getPlaca() { return placa; }
  66. public String getModelo() { return modelo; }
  67. public int getKilometraje() { return kilometraje; }
  68. }
  69.  
  70. class BDAutomovil {
  71. private HashMap<Integer, Automovil> inventario = new HashMap<>();
  72.  
  73. public BDAutomovil() {
  74. // Datos de ejemplo que ya estaban en tu código
  75. inventario.put(1, new Automovil(1, "Mazda", "123-abc", "MX-5", 0));
  76. inventario.put(2, new Automovil(2, "vw", "321-cba", "jetta", 23));
  77. }
  78.  
  79. public boolean verificarExistencia(int codigo) {
  80. return inventario.containsKey(codigo);
  81. }
  82.  
  83. public void agregar(Automovil auto) {
  84. inventario.put(auto.getCodigo(), auto);
  85. }
  86.  
  87. public void actualizar(Automovil auto) {
  88. inventario.put(auto.getCodigo(), auto);
  89. }
  90.  
  91. public void imprimirLista() {
  92. // Un for-each sencillo para imprimir, muy común en clase
  93. for (Automovil a : inventario.values()) {
  94. System.out.println(a.getCodigo() + " " + a.getMarca() + " " + a.getPlaca() + " " + a.getModelo() + " " + a.getKilometraje());
  95. }
  96. }
  97. }
Success #stdin #stdout 0.19s 59032KB
stdin
Agregar
3 Toyota ABC-123 Corolla 500
stdout
1 Mazda 123-abc MX-5 0
2 vw 321-cba jetta 23
3 Toyota ABC-123 Corolla 500