Skip to content

Commit b4cfe2a

Browse files
committed
Added Actividad25_Aplicacion - Unit06
1 parent 6771c55 commit b4cfe2a

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package unit06.Actividad25_Aplicacion;
2+
3+
import java.util.Scanner;
4+
5+
/*
6+
Implementar un programa que lea una frase y muestre todas sus palabras ordenadas alfabéticamente.
7+
Supondremos que cada palabra está separada de la siguiente por un único espacio en blanco.
8+
*/
9+
public class Actividad25 {
10+
public static void main(String[] args) {
11+
Scanner sc = new Scanner(System.in);
12+
String frase;
13+
String[] palabras;
14+
String[] fraseOrdenada;
15+
16+
// Pedimos la frase
17+
System.out.print("Introduce una frase: ");
18+
frase = sc.nextLine();
19+
20+
// Separamos la frase en palabras
21+
palabras = frase.split(" ");
22+
23+
// Ordenamos las palabras - Todo esto serie mucho mas sencillo utilizando streams o ArrayList pero no los hemos visto todavía
24+
fraseOrdenada = ordenarPalabras(palabras);
25+
26+
// Mostramos la frase ordenada
27+
System.out.println("Frase ordenada: ");
28+
for (String palabra : fraseOrdenada) {
29+
System.out.println(palabra);
30+
}
31+
}
32+
33+
private static String[] ordenarPalabras(String[] palabras) {
34+
String[] palabrasOrdenadas = new String[palabras.length]; // Array para guardar las palabras ordenadas
35+
String palabraMenor; // Palabra menor encontrada
36+
int indicePalabraMenor; // Índice de la palabra menor encontrada
37+
38+
for (int i = 0; i < palabras.length; i++) { // Recorremos todas las palabras
39+
palabraMenor = palabras[i]; // Suponemos que la palabra menor es la primera
40+
indicePalabraMenor = i; // Suponemos que la palabra menor es la primera
41+
for (int j = i + 1; j < palabras.length; j++) { // Recorremos las palabras restantes
42+
if (palabras[j].compareTo(palabraMenor) < 0) { // Si encontramos una palabra menor
43+
palabraMenor = palabras[j]; // Guardamos la palabra menor
44+
indicePalabraMenor = j; // Guardamos el índice de la palabra menor
45+
}
46+
}
47+
palabrasOrdenadas[i] = palabraMenor; // Guardamos la palabra menor en el array de palabras ordenadas
48+
palabras[indicePalabraMenor] = palabras[i]; // Intercambiamos la palabra menor con la primera
49+
}
50+
51+
return palabrasOrdenadas;
52+
}
53+
}

0 commit comments

Comments
 (0)