Skip to content

Commit b2078ae

Browse files
authored
Merge pull request mouredev#7687 from inmortalnight/main
#4 - Java
2 parents 54f4808 + ccafc62 commit b2078ae

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// 04 - CADENAS DE CARACTERES
2+
3+
import java.util.ArrayList;
4+
import java.util.Scanner;
5+
6+
public class inmortalnight {
7+
public static void main(String[] args) {
8+
// Ejemplos de operaciones con cadenas de caracteres
9+
String cadena = "Hola Mundo";
10+
System.out.println("Cadena: " + cadena);
11+
System.out.println("Longitud: " + cadena.length());
12+
System.out.println("Caracter en la posición 4: " + cadena.charAt(4));
13+
System.out.println("Subcadena desde la posición 5: " + cadena.substring(5));
14+
System.out.println("Concatenación: " + cadena.concat(" desde Java"));
15+
System.out.println("Repetición: " + cadena.repeat(3));
16+
System.out.println("Recorrido: ");
17+
for (int i = 0; i < cadena.length(); i++) {
18+
System.out.println(cadena.charAt(i));
19+
}
20+
System.out.println("Mayúsculas: " + cadena.toUpperCase());
21+
System.out.println("Minúsculas: " + cadena.toLowerCase());
22+
System.out.println("Reemplazo: " + cadena.replace("Hola", "Adiós"));
23+
System.out.println("División: " + cadena.split(" ")[0]);
24+
System.out.println("Unión: " + String.join(" ", "Hola", "Mundo"));
25+
System.out.println("Interpolación: " + String.format("Hola %s", "Mundo"));
26+
System.out.println("Verificación: " + cadena.equals("Hola Mundo"));
27+
28+
comprobar();
29+
}
30+
// EXTRA: Comprobaciones
31+
public static void comprobar() {
32+
System.out.println("------Comprobaciones-----");
33+
System.out.println("Nota: las comprobaciones dan prioridad a la primera palabra introducida");
34+
// Entrada de datos
35+
Scanner scanner = new Scanner(System.in);
36+
System.out.print("Introduce la primera palabra: ");
37+
String palabra1 = scanner.nextLine();
38+
System.out.print("Introduce la segunda palabra: ");
39+
String palabra2 = scanner.nextLine();
40+
// Comprobaciones
41+
System.out.println("Palíndromo: " + esPalindromo(palabra1));
42+
System.out.println("Anagrama: " + esAnagrama(palabra1, palabra2));
43+
System.out.println("Isograma: " + esIsograma(palabra1));
44+
scanner.close();
45+
}
46+
// Palindromo: es una palabra o frase que se lee igual de izquierda a derecha que de derecha a izquierda
47+
public static boolean esPalindromo(String palabra) {
48+
return palabra.equals(new StringBuilder(palabra).reverse().toString());
49+
}
50+
// Anagrama: es una palabra o frase que contiene las mismas letras que otra palabra o frase
51+
public static boolean esAnagrama(String palabra1, String palabra2) {
52+
ArrayList<Character> lista1 = new ArrayList<>();
53+
for (char c : palabra1.toCharArray()) {
54+
lista1.add(c);
55+
}
56+
ArrayList<Character> lista2 = new ArrayList<>();
57+
for (char c : palabra2.toCharArray()) {
58+
lista2.add(c);
59+
}
60+
lista1.sort(Character::compareTo);
61+
lista2.sort(Character::compareTo);
62+
return lista1.equals(lista2);
63+
}
64+
// Isograma: es una palabra o frase que no contiene letras repetidas
65+
public static boolean esIsograma(String palabra) {
66+
return palabra.chars().distinct().count() == palabra.length();
67+
}
68+
}

0 commit comments

Comments
 (0)