diff --git a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque02_Hashmap/Principal.java b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque02_Hashmap/Principal.java new file mode 100644 index 0000000..e6b5296 --- /dev/null +++ b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque02_Hashmap/Principal.java @@ -0,0 +1,115 @@ +package tutorialJava.capitulo6_ColeccionesDeDatos.ejercicios.bloque02_Hashmap; + +import java.util.HashMap; +import java.util.Scanner; + +public class Principal { + + + private static HashMap hm = new HashMap (); + + /** + * + * @param args + */ + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + int opcion; + Articulo art = null; + + do { + opcion = menu(); // Muestro menú y recojo selección del usuario + + // Trato la opción elegida + switch (opcion) { + case 0: + System.exit(0); + break; + + case 1: // Ver artículos + mostrarArticulos(); + break; + + case 2: // Insertar artículo + insertarArticulo(); + break; + + case 3: // Eliminar artículo + System.out.println("Introduzca el codigo de barras deel artículo a eliminar: "); + int codigoAEliminar = sc.nextInt(); + hm.remove(codigoAEliminar); + break; + + case 4: // Modificar artículo + modificarArticulo(); + break; + } + + } while (true); + } + + + /** + * + * @return + */ + private static int menu() { + Scanner sc = new Scanner(System.in); + System.out.println("Elige lo que desea hacer:"); + System.out.println("0.-Salir"); + System.out.println("1.-Ver los objeatos del almecen"); + System.out.println("2.-Insertar nuevo artículo"); + System.out.println("3.-Eliminar un articulo"); + System.out.println("4.-Actualizar un articulo"); + return sc.nextInt(); + + } + + /** + * + */ + private static void mostrarArticulos() { + Object claves[] = hm.keySet().toArray(); + for (int i = 0; i < claves.length; i++) { + System.out.println("Codigo de barras: " + claves[i] + + "\nDatos del " + hm.get(claves[i])); + } + } + + + /** + * + */ + private static void insertarArticulo() { + Scanner sc = new Scanner(System.in); + System.out.println("Introduzca codigo de barras: "); + int cB = sc.nextInt(); + System.out.println("Introduzca nombre: "); + String nombre = sc.next(); + System.out.println("Introduzca número de estanteria: "); + int estanteria = sc.nextInt(); + System.out.println("Introduzca stock: "); + int cantidad = sc.nextInt(); + + hm.put(cB, new Articulo(nombre, cB, estanteria, cantidad)); + + } + + /** + * + */ + private static void modificarArticulo() { + Scanner sc = new Scanner(System.in); + Articulo art = new Articulo(); + System.out.println("Introzuca codigo de barras: "); + art.setCodigoDeBarras(sc.nextInt()); + System.out.println("Introduzca nombre: "); + art.setNombre(sc.next()); + System.out.println("Introduzca número de estanteria: "); + art.setNumeroDeEstante(sc.nextInt()); + System.out.println("Introduzca stock: "); + art.setStock(sc.nextInt()); + + hm.replace(art.getCodigoDeBarras(), art); + } +} diff --git a/src/tutorialJava/capitulo7_Recursos/ejemploNumeroImparListener/IntroduccionNumeros.java b/src/tutorialJava/capitulo7_Recursos/ejemploNumeroImparListener/IntroduccionNumeros.java index aba8396..5815b6c 100644 --- a/src/tutorialJava/capitulo7_Recursos/ejemploNumeroImparListener/IntroduccionNumeros.java +++ b/src/tutorialJava/capitulo7_Recursos/ejemploNumeroImparListener/IntroduccionNumeros.java @@ -30,8 +30,8 @@ public class IntroduccionNumeros { */ private static void fireNumeroImparListener(int numeroImparIntroducido) { NumeroImparEvent event = new NumeroImparEvent(numeroImparIntroducido); - for (int i = listNumeroImparListeners.size() - 1; i >= 0; i--) { - listNumeroImparListeners.get(i).numeroImparIntroducido(event); + for (NumeroImparListener listener : listNumeroImparListeners) { + listener.numeroImparIntroducido(event); } } diff --git a/src/tutorialJava/capitulo7_Recursos/ejemploNumeroImparListener/Perro.java b/src/tutorialJava/capitulo7_Recursos/ejemploNumeroImparListener/Perro.java index 35eb208..6d77f75 100644 --- a/src/tutorialJava/capitulo7_Recursos/ejemploNumeroImparListener/Perro.java +++ b/src/tutorialJava/capitulo7_Recursos/ejemploNumeroImparListener/Perro.java @@ -8,7 +8,6 @@ public class Perro implements NumeroImparListener { public void numeroImparIntroducido(NumeroImparEvent e) { System.out.println("Soy un perro y me han notificado la introducción de un número " + "impar: " + e.getNumeroIntroducido()); - IntroduccionNumeros.removeNumeroImparListener(this); } } diff --git a/src/tutorialJava/capitulo7_Recursos/lluviaListener/InteresadoLLuviaListener.java b/src/tutorialJava/capitulo7_Recursos/lluviaListener/InteresadoLLuviaListener.java new file mode 100644 index 0000000..8940c74 --- /dev/null +++ b/src/tutorialJava/capitulo7_Recursos/lluviaListener/InteresadoLLuviaListener.java @@ -0,0 +1,6 @@ +package tutorialJava.capitulo7_Recursos.lluviaListener; + +public interface InteresadoLLuviaListener { + + public void estaLloviendo(InteresadoLluviaEvent event); +} diff --git a/src/tutorialJava/capitulo7_Recursos/lluviaListener/InteresadoLluviaEvent.java b/src/tutorialJava/capitulo7_Recursos/lluviaListener/InteresadoLluviaEvent.java new file mode 100644 index 0000000..8381e88 --- /dev/null +++ b/src/tutorialJava/capitulo7_Recursos/lluviaListener/InteresadoLluviaEvent.java @@ -0,0 +1,20 @@ +package tutorialJava.capitulo7_Recursos.lluviaListener; + +public class InteresadoLluviaEvent { + + private int litrosPorMetro; + + public InteresadoLluviaEvent() { + super(); + } + + public int getLitrosPorMetro() { + return litrosPorMetro; + } + + public void setLitrosPorMetro(int litrosPorMetro) { + this.litrosPorMetro = litrosPorMetro; + } + + +} diff --git a/src/tutorialJava/capitulo7_Recursos/lluviaListener/ProgramaRadio.java b/src/tutorialJava/capitulo7_Recursos/lluviaListener/ProgramaRadio.java new file mode 100644 index 0000000..9f93cd6 --- /dev/null +++ b/src/tutorialJava/capitulo7_Recursos/lluviaListener/ProgramaRadio.java @@ -0,0 +1,15 @@ +package tutorialJava.capitulo7_Recursos.lluviaListener; + +public class ProgramaRadio implements InteresadoLLuviaListener { + + public ProgramaRadio () { + Aemet.addInteresadoLluviaListener(this); + } + + + @Override + public void estaLloviendo(InteresadoLluviaEvent event) { + System.out.println("Soy un programa de radio y me notifican que llueve"); + } + +} diff --git a/src/tutorialJava/capitulo7_Recursos/lluviaListener/Telediario.java b/src/tutorialJava/capitulo7_Recursos/lluviaListener/Telediario.java new file mode 100644 index 0000000..30b0b0b --- /dev/null +++ b/src/tutorialJava/capitulo7_Recursos/lluviaListener/Telediario.java @@ -0,0 +1,18 @@ +package tutorialJava.capitulo7_Recursos.lluviaListener; + +public class Telediario implements InteresadoLLuviaListener { + + /** + * + */ + public Telediario() { + Aemet.addInteresadoLluviaListener(this); + } + + @Override + public void estaLloviendo(InteresadoLluviaEvent event) { + System.out.println("Soy un telediario y me dicen que llueve " + + event.getLitrosPorMetro() + " litros por metro"); + } + +}