diff --git a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque02_Hashmap/Principal.java b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque02_Hashmap/Principal.java index e6b5296..558e5e3 100644 --- a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque02_Hashmap/Principal.java +++ b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque02_Hashmap/Principal.java @@ -6,7 +6,8 @@ import java.util.Scanner; public class Principal { - private static HashMap hm = new HashMap (); + private static HashMap hm = + new HashMap (); /** * diff --git a/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque03_Excepciones/ExcepcionPorFraseConPalabraBombilla/Principal.java b/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque03_Excepciones/ExcepcionPorFraseConPalabraBombilla/Principal.java index 72fe351..1621638 100644 --- a/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque03_Excepciones/ExcepcionPorFraseConPalabraBombilla/Principal.java +++ b/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque03_Excepciones/ExcepcionPorFraseConPalabraBombilla/Principal.java @@ -12,6 +12,7 @@ public class Principal { MinimoNumeroDePalabrasNoAlcanzadoException, PalabraBombillaNoEncontradaException, PalabraOfensivaException { + String frase = JOptionPane.showInputDialog("Introduzca una frase con la palabra \"bombilla\""); // No frase formada por espacios en blanco @@ -33,7 +34,8 @@ public class Principal { String palabrasOfensivas[] = new String[] {"tonto", "tonta", "idiota"}; for (String palabraOfensiva : palabrasOfensivas) { if (frase.toLowerCase().indexOf(palabraOfensiva) != -1) { - throw new PalabraOfensivaException("Palabra " + palabraOfensiva + " encontrada"); + throw new PalabraOfensivaException("Palabra " + + palabraOfensiva + " encontrada"); } } diff --git a/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/Mesa.java b/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/Mesa.java new file mode 100644 index 0000000..fe705d6 --- /dev/null +++ b/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/Mesa.java @@ -0,0 +1,17 @@ +package tutorialJava.capitulo7_Recursos.ejercicios.bloque04_Listener; + +public class Mesa implements OperacionMatematicaListener { + + /** + * + */ + public Mesa() { + Principal.addOperacionMatematicaListener(this); + } + + @Override + public void sumaMayorA1000(SumaMayorA1000Event e) { + System.out.println("Soy una mesa y una suma ha dado " + + "un valor > 1000, que es: " + e.getSuma()); + } +} diff --git a/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/OperacionMatematicaListener.java b/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/OperacionMatematicaListener.java new file mode 100644 index 0000000..33798db --- /dev/null +++ b/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/OperacionMatematicaListener.java @@ -0,0 +1,6 @@ +package tutorialJava.capitulo7_Recursos.ejercicios.bloque04_Listener; + +public interface OperacionMatematicaListener { + + public void sumaMayorA1000(SumaMayorA1000Event e); +} diff --git a/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/Principal.java b/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/Principal.java index 583ea23..6053423 100644 --- a/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/Principal.java +++ b/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/Principal.java @@ -1,9 +1,28 @@ package tutorialJava.capitulo7_Recursos.ejercicios.bloque04_Listener; +import java.util.ArrayList; +import java.util.List; import java.util.Scanner; public class Principal { + private static List listeners = new ArrayList(); + + public static void addOperacionMatematicaListener (OperacionMatematicaListener l) { + listeners.add(l); + } + + public static void removeOperacionMatematicaListener (OperacionMatematicaListener l) { + listeners.remove(l); + } + + + private static void fireSumaMayorA1000(int suma) { + SumaMayorA1000Event e = new SumaMayorA1000Event(suma); + for (OperacionMatematicaListener l : listeners) { + l.sumaMayorA1000(e); + } + } /** * @@ -13,17 +32,12 @@ public class Principal { Scanner scanner = new Scanner(System.in); int choice; + Mesa m1 = new Mesa(); + + do { - System.out.println("\nMenú de Operaciones Matemáticas:"); - System.out.println("1. Suma"); - System.out.println("2. Resta"); - System.out.println("3. Multiplicación"); - System.out.println("4. División"); - System.out.println("5. Raíz Cuadrada"); - System.out.println("6. Salir"); - System.out.print("Seleccione una opción: "); - - choice = scanner.nextInt(); // Get user choice + + choice = menu(); switch (choice) { case 1: @@ -32,7 +46,11 @@ public class Principal { int sum1 = scanner.nextInt(); System.out.print("Ingrese el segundo número: "); int sum2 = scanner.nextInt(); - System.out.println("Resultado de la suma: " + (sum1 + sum2)); + int suma = sum1 + sum2; + if (suma > 1000) { + fireSumaMayorA1000(suma); + } + System.out.println("Resultado de la suma: " + suma); break; case 2: @@ -75,7 +93,7 @@ public class Principal { } break; - case 6: + case 0: System.out.println("Saliendo del programa. ¡Adiós!"); break; @@ -84,7 +102,7 @@ public class Principal { break; } - } while (choice != 6); + } while (choice != 0); scanner.close(); } @@ -94,16 +112,16 @@ public class Principal { * * @return */ - private int menu() { + private static int menu() { Scanner scanner = new Scanner(System.in); System.out.println("\nMenú de Operaciones Matemáticas:"); + System.out.println("0. Salir"); System.out.println("1. Suma"); System.out.println("2. Resta"); System.out.println("3. Multiplicación"); System.out.println("4. División"); System.out.println("5. Raíz Cuadrada"); - System.out.println("6. Salir"); System.out.print("Seleccione una opción: "); return scanner.nextInt(); diff --git a/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/SumaMayorA1000Event.java b/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/SumaMayorA1000Event.java new file mode 100644 index 0000000..fbc855a --- /dev/null +++ b/src/tutorialJava/capitulo7_Recursos/ejercicios/bloque04_Listener/SumaMayorA1000Event.java @@ -0,0 +1,26 @@ +package tutorialJava.capitulo7_Recursos.ejercicios.bloque04_Listener; + +public class SumaMayorA1000Event { + + int suma; + + public SumaMayorA1000Event(int suma) { + super(); + this.suma = suma; + } + + public int getSuma() { + return suma; + } + + public void setSuma(int suma) { + this.suma = suma; + } + + @Override + public String toString() { + return "SumaMayorA1000Event [suma=" + suma + "]"; + } + + +}