feat(corrección): 28-ene-25

This commit is contained in:
Rafa Muñoz
2025-01-28 14:59:59 +01:00
parent 1f7add9db3
commit bc80b72094
6 changed files with 87 additions and 17 deletions

View File

@@ -6,7 +6,8 @@ import java.util.Scanner;
public class Principal { public class Principal {
private static HashMap<Integer, Articulo> hm = new HashMap<Integer, Articulo> (); private static HashMap<Integer, Articulo> hm =
new HashMap<Integer, Articulo> ();
/** /**
* *

View File

@@ -12,6 +12,7 @@ public class Principal {
MinimoNumeroDePalabrasNoAlcanzadoException, MinimoNumeroDePalabrasNoAlcanzadoException,
PalabraBombillaNoEncontradaException, PalabraBombillaNoEncontradaException,
PalabraOfensivaException { PalabraOfensivaException {
String frase = JOptionPane.showInputDialog("Introduzca una frase con la palabra \"bombilla\""); String frase = JOptionPane.showInputDialog("Introduzca una frase con la palabra \"bombilla\"");
// No frase formada por espacios en blanco // No frase formada por espacios en blanco
@@ -33,7 +34,8 @@ public class Principal {
String palabrasOfensivas[] = new String[] {"tonto", "tonta", "idiota"}; String palabrasOfensivas[] = new String[] {"tonto", "tonta", "idiota"};
for (String palabraOfensiva : palabrasOfensivas) { for (String palabraOfensiva : palabrasOfensivas) {
if (frase.toLowerCase().indexOf(palabraOfensiva) != -1) { if (frase.toLowerCase().indexOf(palabraOfensiva) != -1) {
throw new PalabraOfensivaException("Palabra " + palabraOfensiva + " encontrada"); throw new PalabraOfensivaException("Palabra " +
palabraOfensiva + " encontrada");
} }
} }

View File

@@ -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());
}
}

View File

@@ -0,0 +1,6 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque04_Listener;
public interface OperacionMatematicaListener {
public void sumaMayorA1000(SumaMayorA1000Event e);
}

View File

@@ -1,9 +1,28 @@
package tutorialJava.capitulo7_Recursos.ejercicios.bloque04_Listener; package tutorialJava.capitulo7_Recursos.ejercicios.bloque04_Listener;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; import java.util.Scanner;
public class Principal { public class Principal {
private static List<OperacionMatematicaListener> listeners = new ArrayList<OperacionMatematicaListener>();
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); Scanner scanner = new Scanner(System.in);
int choice; int choice;
Mesa m1 = new Mesa();
do { do {
System.out.println("\nMenú de Operaciones Matemáticas:");
System.out.println("1. Suma"); choice = menu();
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
switch (choice) { switch (choice) {
case 1: case 1:
@@ -32,7 +46,11 @@ public class Principal {
int sum1 = scanner.nextInt(); int sum1 = scanner.nextInt();
System.out.print("Ingrese el segundo número: "); System.out.print("Ingrese el segundo número: ");
int sum2 = scanner.nextInt(); 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; break;
case 2: case 2:
@@ -75,7 +93,7 @@ public class Principal {
} }
break; break;
case 6: case 0:
System.out.println("Saliendo del programa. ¡Adiós!"); System.out.println("Saliendo del programa. ¡Adiós!");
break; break;
@@ -84,7 +102,7 @@ public class Principal {
break; break;
} }
} while (choice != 6); } while (choice != 0);
scanner.close(); scanner.close();
} }
@@ -94,16 +112,16 @@ public class Principal {
* *
* @return * @return
*/ */
private int menu() { private static int menu() {
Scanner scanner = new Scanner(System.in); Scanner scanner = new Scanner(System.in);
System.out.println("\nMenú de Operaciones Matemáticas:"); System.out.println("\nMenú de Operaciones Matemáticas:");
System.out.println("0. Salir");
System.out.println("1. Suma"); System.out.println("1. Suma");
System.out.println("2. Resta"); System.out.println("2. Resta");
System.out.println("3. Multiplicación"); System.out.println("3. Multiplicación");
System.out.println("4. División"); System.out.println("4. División");
System.out.println("5. Raíz Cuadrada"); System.out.println("5. Raíz Cuadrada");
System.out.println("6. Salir");
System.out.print("Seleccione una opción: "); System.out.print("Seleccione una opción: ");
return scanner.nextInt(); return scanner.nextInt();

View File

@@ -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 + "]";
}
}