mirror of
https://gitlab.com/tutorial-java-rafa-munoz/tutorial-java-2024-25/tutorialjava2024-25.git
synced 2025-11-09 18:03:09 +01:00
feat(corrección): 28-ene-25
This commit is contained in:
@@ -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> ();
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package tutorialJava.capitulo7_Recursos.ejercicios.bloque04_Listener;
|
||||
|
||||
public interface OperacionMatematicaListener {
|
||||
|
||||
public void sumaMayorA1000(SumaMayorA1000Event e);
|
||||
}
|
||||
@@ -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();
|
||||
|
||||
@@ -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 + "]";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user