Ejercicios del 1 al 6 del cap 4 bloque 5

This commit is contained in:
2024-10-27 23:17:33 +01:00
parent b92849edc3
commit 0370218b66
9 changed files with 196 additions and 1 deletions

2
.idea/modules.xml generated
View File

@@ -2,7 +2,7 @@
<project version="4"> <project version="4">
<component name="ProjectModuleManager"> <component name="ProjectModuleManager">
<modules> <modules>
<module fileurl="file://$PROJECT_DIR$/Ejercicios Caps01_02_03.iml" filepath="$PROJECT_DIR$/Ejercicios Caps01_02_03.iml" /> <module fileurl="file://$PROJECT_DIR$/Ejercicios.iml" filepath="$PROJECT_DIR$/Ejercicios.iml" />
</modules> </modules>
</component> </component>
</project> </project>

View File

@@ -0,0 +1,19 @@
package capitulo04.bloque05;
import static capitulo04.utils.Utils.solicitarStringScanner;
public class Ejercicio01 {
public static void main(String[] args) {
System.out.println(eliminarEspacios(solicitarStringScanner("Introduzca el texto del que eliminar los espacios")));
}
public static String eliminarEspacios(String texto) {
String textoSinEspacios = "";
for (int i = 0; i < texto.length(); i++) {
if (texto.charAt(i) != ' ') {
textoSinEspacios += texto.charAt(i);
}
}
return textoSinEspacios;
}
}

View File

@@ -0,0 +1,29 @@
package capitulo04.bloque05;
import static capitulo04.utils.Utils.*;
public class Ejercicio02 {
public static void main(String[] args) {
System.out.println("== Cifrador César ==");
String frase = solicitarStringScanner("Introduzca la frase a cifrar:");
int clave = solicitarIntScanner("Introduzca la clave o número de movimientos: ");
System.out.println("Texto cifrado: ");
System.out.println(cifrarCesar(frase, clave));
}
public static String cifrarCesar(String textoACifrar, int posicionesAMover) {
posicionesAMover = posicionesAMover >= 32 ? posicionesAMover / 32 : posicionesAMover;
textoACifrar = cambiarAMinuscula(textoACifrar);
String textoCifrado = "";
for (int i = 0; i < textoACifrar.length(); i++) {
if (textoACifrar.charAt(i) + posicionesAMover > 122) {
textoCifrado += (char) (textoACifrar.charAt(i) + (posicionesAMover - 26));
} else {
textoCifrado += (char) (textoACifrar.charAt(i) + posicionesAMover);
}
}
return textoCifrado;
}
}

View File

@@ -0,0 +1,24 @@
package capitulo04.bloque05;
import static capitulo04.utils.Utils.solicitarStringScanner;
public class Ejercicio03 {
public static void main(String[] args) {
String frase = solicitarStringScanner("Introduzca la frase en la que desea buscar la subfrase"),
subfrase = solicitarStringScanner("Introduzca la substring a buscar");
int contadorSubStrings = 0;
for (int i = 0; i < frase.length(); i++) {
for (int j = 0, clonI = i; j < subfrase.length(); j++, clonI++) {
if (frase.charAt(clonI) != subfrase.charAt(j)) {
break;
} else if (j == subfrase.length() -1) {
contadorSubStrings++;
}
}
}
System.out.println("La frase: " + frase + "\nContiene " + contadorSubStrings + " veces la substring " + subfrase);
}
}

View File

@@ -0,0 +1,31 @@
package capitulo04.bloque05;
import static capitulo04.utils.Utils.solicitarStringScanner;
public class Ejercicio04 {
public static void main(String[] args) {
String stringABuscar = solicitarStringScanner("Introduzca la oración en la que desea buscar la palabra más larga");
String palabraMasLarga = "", palabraTemporal = "";
for (int i = 0; i <= stringABuscar.length(); i++) {
char caracterActual;
if (i < stringABuscar.length()) {
caracterActual = stringABuscar.charAt(i);
} else {
caracterActual = ' ';
}
if (caracterActual != ' ') {
palabraTemporal += caracterActual;
} else {
if (palabraTemporal.length() > palabraMasLarga.length()) {
palabraMasLarga = palabraTemporal;
}
palabraTemporal = "";
}
}
System.out.println("La palabra más larga es: " + palabraMasLarga);
}
}

View File

@@ -0,0 +1,36 @@
package capitulo04.bloque05;
import static capitulo04.utils.Utils.solicitarStringScanner;
public class Ejercicio05 {
public static void main(String[] args) {
String stringAInvertir = solicitarStringScanner("Introduzca una oración para invertir las letras de sus palabras");
System.out.println("Cadena invertida: " + invertirPalabras(stringAInvertir));
}
public static String invertirPalabras(String textoAInvertir) {
String resultado = "";
String palabraActual = "";
for (int i = 0; i <= textoAInvertir.length(); i++) {
char caracterActual;
if (i < textoAInvertir.length()) {
caracterActual = textoAInvertir.charAt(i);
} else {
caracterActual = ' ';
}
if (caracterActual != ' ') {
palabraActual += caracterActual;
} else {
for (int j = (palabraActual.length() - 1); j >= 0; j--) {
resultado += palabraActual.charAt(j);
}
resultado += ' ';
palabraActual = "";
}
}
return resultado;
}
}

View File

@@ -0,0 +1,45 @@
package capitulo04.bloque05;
import static capitulo04.utils.Utils.solicitarStringScanner;
public class Ejercicio06 {
public static void main(String[] args) {
String palabraIntroducida = solicitarStringScanner("Introduzca una palabra para comprobar si es un pangrama");
boolean letraA = false,
letraE = false,
letraI = false,
letraO = false,
letraU = false;
palabraIntroducida = cambiarAMinuscula(palabraIntroducida);
for (int i = 0; i < palabraIntroducida.length(); i++) {
if (palabraIntroducida.charAt(i) == 'a') {
letraA = true;
} else if (palabraIntroducida.charAt(i) == 'e') {
letraE = true;
} else if (palabraIntroducida.charAt(i) == 'i') {
letraI = true;
} else if (palabraIntroducida.charAt(i) == 'o') {
letraO = true;
} else if (palabraIntroducida.charAt(i) == 'u') {
letraU = true;
}
}
if (letraA && letraE && letraI && letraO && letraU) {
System.out.println("Sí es un pangrama");
} else {
System.out.println("No es un pangrama");
}
}
public static String cambiarAMinuscula(String textoACambiar) {
String minuscula = "";
for (int i = 0; i < textoACambiar.length(); i++) {
if (textoACambiar.charAt(i) >= 65 && textoACambiar.charAt(i) <= 90) {
minuscula += (char) (textoACambiar.charAt(i) + 32);
} else {
minuscula += textoACambiar.charAt(i);
}
}
return minuscula;
}
}

View File

@@ -29,4 +29,15 @@ public class Utils {
} }
return nums; return nums;
} }
public static String cambiarAMinuscula(String textoACambiar) {
String minuscula = "";
for (int i = 0; i < textoACambiar.length(); i++) {
if (textoACambiar.charAt(i) >= 65 && textoACambiar.charAt(i) <= 90) {
minuscula += (char) (textoACambiar.charAt(i) + 32);
} else {
minuscula += textoACambiar.charAt(i);
}
}
return minuscula;
}
} }