fork download
  1. import java.util.*;
  2.  
  3. public class Main {
  4. public static void main(String[] args) {
  5. Scanner sc = new Scanner(System.in);
  6. BDAutomovil baseDatos = new BDAutomovil();
  7.  
  8.  
  9. if (!sc.hasNextLine()) return;
  10. String operacion = sc.nextLine().trim();
  11.  
  12.  
  13. if (!sc.hasNextLine()) return;
  14. String[] datos = sc.nextLine().split("\\s+");
  15.  
  16.  
  17. if (datos.length < 5) {
  18. System.out.println("ERROR");
  19. return;
  20. }
  21.  
  22. try {
  23. int codigo = Integer.parseInt(datos[0]);
  24. String marca = datos[1];
  25. String placa = datos[2];
  26. String modelo = datos[3];
  27. int kilometraje = Integer.parseInt(datos[4]);
  28.  
  29. Automovil autoIngresado = new Automovil(codigo, marca, placa, modelo, kilometraje);
  30.  
  31.  
  32. ejecutarOperacion(operacion, autoIngresado, baseDatos);
  33.  
  34. } catch (NumberFormatException e) {
  35. System.out.println("ERROR"); // Por si el código o kilometraje no son números
  36. }
  37. }
  38.  
  39. private static void ejecutarOperacion(String op, Automovil auto, BDAutomovil bd) {
  40. boolean existe = bd.verificarExistencia(auto.getCodigo());
  41.  
  42. if (op.equalsIgnoreCase("Agregar") && !existe) {
  43. bd.agregar(auto);
  44. bd.imprimirInventario();
  45. }
  46. else if (op.equalsIgnoreCase("Actualizar") && existe) {
  47. bd.actualizar(auto);
  48. bd.imprimirInventario();
  49. }
  50. else {
  51.  
  52. System.out.println("ERROR");
  53. }
  54. }
  55. }
  56.  
  57.  
  58. class Automovil {
  59. private int codigo;
  60. private String marca;
  61. private String placa;
  62. private String modelo;
  63. private int kilometraje;
  64.  
  65. public Automovil(int codigo, String marca, String placa, String modelo, int kilometraje) {
  66. this.codigo = codigo;
  67. this.marca = marca;
  68. this.placa = placa;
  69. this.modelo = modelo;
  70. this.kilometraje = kilometraje;
  71. }
  72.  
  73.  
  74. public int getCodigo() { return codigo; }
  75. public String getMarca() { return marca; }
  76. public String getPlaca() { return placa; }
  77. public String getModelo() { return modelo; }
  78. public int getKilometraje() { return kilometraje; }
  79.  
  80. @Override
  81. public String toString() {
  82. return codigo + " " + marca + " " + placa + " " + modelo + " " + kilometraje;
  83. }
  84. }
  85.  
  86.  
  87. class BDAutomovil {
  88.  
  89. private Map<Integer, Automovil> inventario = new TreeMap<>();
  90.  
  91. public BDAutomovil() {
  92.  
  93. inventario.put(1, new Automovil(1, "Mazda", "123-abc", "MX-5", 0));
  94. inventario.put(2, new Automovil(2, "vw", "321-cba", "jetta", 23));
  95. }
  96.  
  97. public boolean verificarExistencia(int codigo) {
  98. return inventario.containsKey(codigo);
  99. }
  100.  
  101. public void agregar(Automovil auto) {
  102. inventario.put(auto.getCodigo(), auto);
  103. }
  104.  
  105. public void actualizar(Automovil auto) {
  106. inventario.put(auto.getCodigo(), auto); // put reemplaza si la llave ya existe
  107. }
  108.  
  109. public void imprimirInventario() {
  110. for (Automovil a : inventario.values()) {
  111. System.out.println(a.toString());
  112. }
  113. }
  114. }
Success #stdin #stdout 0.1s 54736KB
stdin
Standard input is empty
stdout
Standard output is empty