Ejercicios Capitulo 7 bloque 3

This commit is contained in:
2025-01-21 20:57:51 +01:00
parent 0c733fbd4e
commit 905014d150
7 changed files with 112 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
package capitulo07.bloque03.ejercicio01;
import capitulo07.bloque03.ejercicio01.exeptions.OddException;
import java.util.Scanner;
public class PeticionNumeros {
static Scanner sc = new Scanner(System.in);
public static int pideNumeroPar() throws OddException {
System.out.print("Escriba un número par: ");
int num = sc.nextInt();
if (num % 2 != 0) throw new OddException("El número dado es impar.");
return num;
}
public static void main(String[] args) {
int num = 0;
do {
try {
num = pideNumeroPar();
} catch (OddException e) {
System.err.println("El número dado es impar por lo que ha provocado la siguiente Exception: ");
e.printStackTrace();
}
} while (num != 0);
}
}

View File

@@ -0,0 +1,7 @@
package capitulo07.bloque03.ejercicio01.exeptions;
public class OddException extends Exception{
public OddException(String message) {
super(message);
}
}

View File

@@ -0,0 +1,50 @@
package capitulo07.bloque03.ejercicio02;
import capitulo07.bloque03.ejercicio02.exceptions.StringContienePalabraProhibidaException;
import capitulo07.bloque03.ejercicio02.exceptions.StringEnBlancoException;
import capitulo07.bloque03.ejercicio02.exceptions.StringMenosTresPalabrasException;
import capitulo07.bloque03.ejercicio02.exceptions.StringSinPalabraRequeridaException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
static Scanner sc = new Scanner(System.in);
public static String pedirFraseConPalabra(String palabra) throws StringEnBlancoException, StringMenosTresPalabrasException, StringSinPalabraRequeridaException, StringContienePalabraProhibidaException {
String textoIntroducido;
String[] palabrasProhibidas = new String[]{"tonto", "tonta", "idiota"};
System.out.print("Introduzca una frase con la palabra " + palabra + ": ");
textoIntroducido = sc.nextLine();
if (textoIntroducido.isBlank())
throw new StringEnBlancoException("La cadena de texto está vacía o sólo tiene espacios en Blanco");
int conteoEspacios = 0;
for (char c : textoIntroducido.trim().toCharArray()) {
if (c == ' ') conteoEspacios++;
}
if (conteoEspacios <= 1)
throw new StringMenosTresPalabrasException("La cadena de texto tiene menos de 3 palabras");
if (!textoIntroducido.toLowerCase().contains(palabra))
throw new StringSinPalabraRequeridaException("La cadena de texto no contiene la palabra requerida");
for (String str : palabrasProhibidas) {
if (textoIntroducido.toLowerCase().contains(str))
throw new StringContienePalabraProhibidaException("La cadena de texto contiene una palabra prohibida");
}
return textoIntroducido;
}
public static void main(String[] args) {
try {
String stringIntroducido = pedirFraseConPalabra("bombilla");
} catch (StringEnBlancoException | StringMenosTresPalabrasException | StringSinPalabraRequeridaException | StringContienePalabraProhibidaException e) {
System.err.println(e.getMessage());
}
}
}

View File

@@ -0,0 +1,7 @@
package capitulo07.bloque03.ejercicio02.exceptions;
public class StringContienePalabraProhibidaException extends RuntimeException {
public StringContienePalabraProhibidaException(String message) {
super(message);
}
}

View File

@@ -0,0 +1,7 @@
package capitulo07.bloque03.ejercicio02.exceptions;
public class StringEnBlancoException extends Exception {
public StringEnBlancoException(String message) {
super(message);
}
}

View File

@@ -0,0 +1,7 @@
package capitulo07.bloque03.ejercicio02.exceptions;
public class StringMenosTresPalabrasException extends RuntimeException {
public StringMenosTresPalabrasException(String message) {
super(message);
}
}

View File

@@ -0,0 +1,7 @@
package capitulo07.bloque03.ejercicio02.exceptions;
public class StringSinPalabraRequeridaException extends RuntimeException {
public StringSinPalabraRequeridaException(String message) {
super(message);
}
}