From 9daa39294a834439bcd5a0286c577e1034d2041c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isidoro=20Nevares=20Mart=C3=ADn?= Date: Tue, 3 Mar 2026 14:58:21 +0100 Subject: [PATCH] =?UTF-8?q?actualizaci=C3=B3n=20para=20actuvidad=203.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../concesionario/AppConcesionario.java | 75 ++++++++--- .../lapaloma/concesionario/dao/ICocheDAO.java | 2 +- .../concesionario/dao/impl/CocheDaoArray.java | 118 ++++++++++-------- .../org/lapaloma/concesionario/vo/Coche.java | 94 ++++++++------ 4 files changed, 176 insertions(+), 113 deletions(-) diff --git a/src/main/java/org/lapaloma/concesionario/AppConcesionario.java b/src/main/java/org/lapaloma/concesionario/AppConcesionario.java index 4bf4bad..415f8b1 100644 --- a/src/main/java/org/lapaloma/concesionario/AppConcesionario.java +++ b/src/main/java/org/lapaloma/concesionario/AppConcesionario.java @@ -23,30 +23,45 @@ public class AppConcesionario { public static void main(String[] args) { AppConcesionario app = new AppConcesionario(); - app.inicializar(); - app.consultarCoches(); + + // Consulta inicial de coches + app.consultarCoches("INICIAL"); + + // Consulta por ID app.consultarPorId(3); + + // Alta de un nuevo coche app.altaCoche(); + + // Actualización de un coche existente app.actualizarCoche(); + + // Borrado de un coche por ID app.borrarCoche(2); - app.consultarCoches(); + + // Consulta de coches por "marca" + app.consultarCochesMarca("Seat"); + + // Consulta final de coches + app.consultarCoches("FINAL"); } - private void inicializar() { + public AppConcesionario() { iCocheDAO = new CocheDaoArray(); } - private void consultarCoches() { + private void consultarCoches(String momento) { try { List listaCoches = iCocheDAO.obtenerListaCoches(); System.out.println("#########################################"); - System.out.println("LISTADO DE COCHES"); + System.out.println("LISTADO DE COCHES " + momento); System.out.println("#########################################"); for (Coche coche : listaCoches) { System.out.println(coche); } + System.out.println("-------------------------------------------------\n\n"); } catch (Exception e) { e.printStackTrace(); @@ -56,7 +71,7 @@ public class AppConcesionario { private void consultarPorId(int id) { System.out.println("#########################################"); System.out.println("CONSULTA POR ID: " + id); - System.out.println("#########################################"); + System.out.println("#########################################\n"); Coche coche = iCocheDAO.obtenerCochePorID(id); @@ -65,37 +80,45 @@ public class AppConcesionario { } else { System.out.println("No existe coche con id " + id); } + System.out.println("-------------------------------------------------\n\n"); } private void altaCoche() { System.out.println("#########################################"); System.out.println("ALTA DE COCHE"); - System.out.println("#########################################"); + System.out.println("#########################################\n"); - Coche nuevo = new Coche(8, "Toyota", "Corolla", 1.8); - iCocheDAO.crearCoche(nuevo); + Coche cocheNuevo = new Coche(); + cocheNuevo.setIdentificador(8); + cocheNuevo.setMarca("Wolkswagen"); + cocheNuevo.setModelo("Golf"); + cocheNuevo.setCilindrada(2.1); - System.out.println("Coche creado: " + nuevo); + iCocheDAO.crearCoche(cocheNuevo); + + System.out.println("Coche creado: " + cocheNuevo); + System.out.println("-------------------------------------------------\n\n"); } private void actualizarCoche() { System.out.println("ACTUALIZAR COCHE"); - System.out.println("#########################################"); + System.out.println("#########################################\n"); - Coche cocheActualizado = new Coche(1, "Renault", "Megane RS", 2.0); - Coche resultado = iCocheDAO.actualizarCoche(cocheActualizado); + Coche coche = new Coche(1, "Renault", "Megane RS", 2.0); + Coche cocheActualizado = iCocheDAO.actualizarCoche(coche); - if (resultado != null) { - System.out.println("Coche actualizado: " + resultado); + if (cocheActualizado != null) { + System.out.println("Coche actualizado: " + cocheActualizado); } else { System.out.println("No se encontró el coche para actualizar"); } + System.out.println("-------------------------------------------------\n\n"); } private void borrarCoche(int id) { System.out.println("#########################################"); System.out.println("BORRAR COCHE ID: " + id); - System.out.println("#########################################"); + System.out.println("#########################################\n"); Coche coche = iCocheDAO.obtenerCochePorID(id); @@ -105,6 +128,24 @@ public class AppConcesionario { } else { System.out.println("No existe coche con id " + id); } + System.out.println("-------------------------------------------------\n\n"); + } + + /** + * @param string + */ + private void consultarCochesMarca(String marca) { + System.out.println("#########################################"); + System.out.println("CONSULTA POR Marca: " + marca); + System.out.println("#########################################\n"); + + List listaCoches = iCocheDAO.obtenerCochePorMarca(marca); + + for (Coche coche : listaCoches) { + System.out.println(coche); + } + + System.out.println("-------------------------------------------------\n\n"); } } diff --git a/src/main/java/org/lapaloma/concesionario/dao/ICocheDAO.java b/src/main/java/org/lapaloma/concesionario/dao/ICocheDAO.java index 720523a..167c6e8 100644 --- a/src/main/java/org/lapaloma/concesionario/dao/ICocheDAO.java +++ b/src/main/java/org/lapaloma/concesionario/dao/ICocheDAO.java @@ -10,5 +10,5 @@ public interface ICocheDAO { public Coche crearCoche(Coche coche); public void borrarCoche(Coche coche); public List obtenerListaCoches(); - public List obtenerCochePorModelo(String modelo); + public List obtenerCochePorMarca(String marca); } diff --git a/src/main/java/org/lapaloma/concesionario/dao/impl/CocheDaoArray.java b/src/main/java/org/lapaloma/concesionario/dao/impl/CocheDaoArray.java index 0871ce5..f121561 100644 --- a/src/main/java/org/lapaloma/concesionario/dao/impl/CocheDaoArray.java +++ b/src/main/java/org/lapaloma/concesionario/dao/impl/CocheDaoArray.java @@ -2,73 +2,83 @@ package org.lapaloma.concesionario.dao.impl; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; import org.lapaloma.concesionario.dao.ICocheDAO; import org.lapaloma.concesionario.vo.Coche; public class CocheDaoArray implements ICocheDAO { - private List listaCoches; + private List listaCoches; - public CocheDaoArray() { - listaCoches = new ArrayList<>(); + public CocheDaoArray() { + listaCoches = new ArrayList<>(); - // Simulamos los inserts de la base de datos - listaCoches.add(new Coche(1, "Renault", "Megane", 1.5)); - listaCoches.add(new Coche(2, "Seat", "León", 1.6)); - listaCoches.add(new Coche(3, "Suzuki", "Vitara", 1.9)); - listaCoches.add(new Coche(4, "Seat", "Clio", 1.4)); - listaCoches.add(new Coche(5, "Seat", "Ibiza", 1.4)); - listaCoches.add(new Coche(6, "Peugeot", "308", 2.0)); - listaCoches.add(new Coche(7, "Renault", "Megane", 1.5)); - } + // Simulamos los inserts de la base de datos + listaCoches.add(new Coche(1, "Renault", "Megane", 1.5)); + listaCoches.add(new Coche(2, "Seat", "León", 1.6)); + listaCoches.add(new Coche(3, "Suzuki", "Vitara", 1.9)); + listaCoches.add(new Coche(4, "Seat", "Clio", 1.4)); + listaCoches.add(new Coche(5, "Seat", "Ibiza", 1.4)); + listaCoches.add(new Coche(6, "Peugeot", "308", 2.0)); + listaCoches.add(new Coche(7, "Renault", "Megane", 1.5)); + } - @Override - public Coche obtenerCochePorID(int identificador) { - Coche coche = null; - for (Coche cocheLista : listaCoches) { - if (cocheLista.getIdentificador() == identificador) { - coche = cocheLista; - break; - } - } - return coche; - } + @Override + public Coche obtenerCochePorID(int identificador) { + Coche coche = null; + for (Coche cocheLista : listaCoches) { + if (cocheLista.getIdentificador() == identificador) { + coche = cocheLista; + break; + } + } + return coche; + } - @Override - public Coche actualizarCoche(Coche coche) { - Coche cocheActualizado = null; + @Override + public Coche actualizarCoche(Coche coche) { + Coche cocheActualizado = null; - for (int i = 0; i < listaCoches.size(); i++) { - Coche cocheLista= listaCoches.get(i); - if (cocheLista.getIdentificador() == coche.getIdentificador()) { - listaCoches.set(i, coche); - cocheActualizado = coche; - break; - } - } - return cocheActualizado; // no encontrado - } + for (int i = 0; i < listaCoches.size(); i++) { + Coche cocheLista = listaCoches.get(i); + if (cocheLista.getIdentificador() == coche.getIdentificador()) { + listaCoches.set(i, coche); + cocheActualizado = coche; + break; + } + } + return cocheActualizado; // no encontrado + } - @Override - public Coche crearCoche(Coche coche) { - listaCoches.add(coche); - return coche; - } + @Override + public Coche crearCoche(Coche coche) { + listaCoches.add(coche); + return coche; + } - @Override - public void borrarCoche(Coche coche) { - listaCoches.removeIf(c -> c.getIdentificador() == coche.getIdentificador()); - } + @Override + public void borrarCoche(Coche coche) { + listaCoches.removeIf(c -> c.getIdentificador() == coche.getIdentificador()); + } - @Override - public List obtenerListaCoches() { - return new ArrayList<>(listaCoches); // devolvemos copia - } + @Override + public List obtenerListaCoches() { + return new ArrayList<>(listaCoches); // devolvemos copia + } - @Override - public List obtenerCochePorModelo(String modelo) { - return listaCoches.stream().filter(c -> c.getModelo().equalsIgnoreCase(modelo)).collect(Collectors.toList()); - } + @Override + public List obtenerCochePorMarca(String marca) { + List listaCochesMarca= null; + + for (Coche coche : listaCoches) { + if (coche.getMarca().equalsIgnoreCase(marca)) { + if (listaCochesMarca == null) { + listaCochesMarca = new ArrayList<>(); + } + listaCochesMarca.add(coche); + } + } + + return listaCochesMarca; + } } diff --git a/src/main/java/org/lapaloma/concesionario/vo/Coche.java b/src/main/java/org/lapaloma/concesionario/vo/Coche.java index eb3918e..30c8927 100644 --- a/src/main/java/org/lapaloma/concesionario/vo/Coche.java +++ b/src/main/java/org/lapaloma/concesionario/vo/Coche.java @@ -5,51 +5,63 @@ package org.lapaloma.concesionario.vo; * Coche: Clase de persistencia que representa un coche de un concesionario. * * @author Isidoro Nevares Martín - IES Virgen de la Paloma - * @date 4 dic 2025 + * @date 03 marzo 2026 * * */ public class Coche { - private int identificador; - private String marca; - private String modelo; - private double cilindrada; - public Coche(int identificador, String marca, String modelo, double cilindrada) { - super(); - this.identificador = identificador; - this.marca = marca; - this.modelo = modelo; - this.cilindrada = cilindrada; - } - public int getIdentificador() { - return identificador; - } - public void setIdentificador(int identificador) { - this.identificador = identificador; - } - public String getMarca() { - return marca; - } - public void setMarca(String marca) { - this.marca = marca; - } - public String getModelo() { - return modelo; - } - public void setModelo(String modelo) { - this.modelo = modelo; - } - public double getCilindrada() { - return cilindrada; - } - public void setCilindrada(double cilindrada) { - this.cilindrada = cilindrada; - } - @Override - public String toString() { - return "Coche [identificador=" + identificador + ", marca=" + marca + ", modelo=" + modelo + ", cilindrada=" - + cilindrada + "]"; - } + private int identificador; + private String marca; + private String modelo; + private double cilindrada; + public Coche(int identificador, String marca, String modelo, double cilindrada) { + super(); + this.identificador = identificador; + this.marca = marca; + this.modelo = modelo; + this.cilindrada = cilindrada; + } + public Coche() { + super(); + } + + public int getIdentificador() { + return identificador; + } + + public void setIdentificador(int identificador) { + this.identificador = identificador; + } + + public String getMarca() { + return marca; + } + + public void setMarca(String marca) { + this.marca = marca; + } + + public String getModelo() { + return modelo; + } + + public void setModelo(String modelo) { + this.modelo = modelo; + } + + public double getCilindrada() { + return cilindrada; + } + + public void setCilindrada(double cilindrada) { + this.cilindrada = cilindrada; + } + + @Override + public String toString() { + return "Coche [identificador=" + identificador + ", marca=" + marca + ", modelo=" + modelo + ", cilindrada=" + + cilindrada + "]"; + } }