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