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 {
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,
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");
}
}

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;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
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);
int choice;
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: ");
Mesa m1 = new Mesa();
choice = scanner.nextInt(); // Get user choice
do {
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();

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