Prog2223 String Ejercicio 6 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
ejercicio 6 de String
Voy a grabar este ejercicio, por lo tanto, si habláis, me dais vuestro consentimiento a que vuestras voces sean grabadas.
00:00:00
Voy a hacer el ejercicio 6. Leer una frase, encontrar la palabra de mayor longitud.
00:00:08
El programa debe imprimir tanto la palabra como el número de caracteres de la misma.
00:00:14
Vamos a hacer el ejercicio.
00:00:21
Empezamos. Pongamos una frase.
00:00:33
String texto es igual... este es el texto que voy a usar.
00:00:36
La palabra más larga es texto.
00:00:47
Al final me debería decir texto y 5.
00:00:50
¿Qué necesito aquí para poder trabajar con esto?
00:00:57
Imaginaos que empezáis ahora a hacer este ejercicio y estáis pensando en cómo lo hago.
00:01:06
¿Qué necesito? Al principio me tengo que pensar qué variables, qué información quiero guardar por algún lado para poder trabajar sobre ello.
00:01:13
¿Qué necesitaré guardarme en cada momento aquí?
00:01:26
Tengo que mantener por algún lado la palabra más grande que he encontrado hasta ahora.
00:01:36
Porque iré leyendo este texto, mientras lo leo, voy diciendo si lo que he encontrado anteriormente era una palabra larga X,
00:01:41
encuentro una palabra más grande, pues entonces sustituiré la que estaba guardando antes con la palabra más grande.
00:01:53
Si en vez de la palabra que leo siguiente es más corta que la anterior, pues entonces no me hace falta.
00:01:59
Esta es más o menos la idea que voy a hacer.
00:02:06
Esto se puede hacer de varias formas.
00:02:10
Yo voy a hacer una, luego a lo mejor después razonamos si hay otras formas.
00:02:13
Yo lo que voy a hacer es construirme las palabras actual leyendo carácter por carácter de este texto hasta llegar a un espacio.
00:02:18
Porque esto así reutiliza también lo que ya se hace, que es encontrar espacios.
00:02:28
Por lo tanto, lo que voy a hacer es crearme por un lado un string mayor, que es la palabra mayor que he encontrado hasta ahora, que es nada.
00:02:34
Por ahora no he encontrado nada.
00:02:50
Y luego utilizaré otro string que será el que leo actualmente.
00:02:52
Entonces será string actual.
00:02:59
Actualmente voy leyendo una string, cuando acabo de haber leído una palabra, comparo si actual es más larga que mayor,
00:03:06
entonces guardaré actual en mayor, y si no en mayor se quedará como está.
00:03:13
Entonces, lo que voy a hacer es, tengo que leer todo este texto, como antes, como el ejercicio 5 que hemos hecho antes.
00:03:20
Por lo tanto voy a hacer un for, int i es igual a cero, i menor que texto.length, y más más.
00:03:28
Es el mismo for que hemos visto en el ejercicio 5.
00:03:40
Lo que estaría haciendo es mirar cada uno de estos caracteres, y si es un carácter que no es un espacio, pues lo voy acumulando en mi cadena actual.
00:03:44
Entonces, si lo que leo en este momento, es decir, texto punto charat de i, no es un espacio.
00:04:02
No me lo pillo.
00:04:33
Si texto punto charat en posición i no es un espacio, es distinto de un espacio, entonces, ¿qué hago?
00:04:37
Actual será igual a lo que tengo en actual, más ese carácter.
00:04:49
Voy concadenando al final de mi cadena actual el nuevo carácter que estoy leyendo.
00:05:06
Yo leo una e, no es un espacio, pues lo añado al final de esta cadena aquí.
00:05:15
Luego leo la s, no es un espacio, por lo tanto lo pongo al final de esta cadena aquí.
00:05:22
Y así, así, así, hasta que encuentre un espacio.
00:05:27
Cuando encuentre un espacio, he acabado esta palabra.
00:05:32
Entonces, cuando esto será falso, y entraré en el else, ahora mismo, en este instante, esta cosa de aquí va al espacio.
00:05:37
Y a mí no me interesa, porque el espacio no lo tengo que considerar.
00:05:50
¿Qué tengo que hacer aquí dentro? Cuando llego aquí dentro, asumo que, ¿qué hay dentro de actual?
00:05:55
La palabra que he leído.
00:06:02
La palabra que he leído.
00:06:04
Entonces, ¿qué tendré que hacer?
00:06:06
Compararla con la otra.
00:06:08
Sí.
00:06:10
¿Cómo comparo la palabra que he leído?
00:06:15
Sí, actual.
00:06:20
Actual, ¿qué más?
00:06:22
Punto length.
00:06:25
Es la longitud de esta cadena.
00:06:27
¿Qué hago?
00:06:35
Es mayor.
00:06:38
Que mayor punto length.
00:06:40
Entonces quiere decir que actual es más grande que mayor, y por lo tanto es mi nueva mayor.
00:06:47
Es decir, mayor es igual a actual.
00:06:54
¿Y si no?
00:06:59
Si no, nada.
00:07:05
Quiere decir que mayor ya es más grande que esta, y entonces no tengo que actualizar mayor.
00:07:07
O sea que no hay un else.
00:07:12
Yo, si encuentro un espacio, voy a comprobar cuál es la más grande, y a este punto, la cago.
00:07:15
¿Sí? Vale, fenomenal.
00:07:25
Cuando salga de este for...
00:07:28
Luego el for seguirá.
00:07:32
Cuidado que este espacio...
00:07:34
Perdón, me tengo todavía que hacer algo.
00:07:36
Y he llegado a este espacio, he empillado esta, la he comprobado con mi mayor, he visto cuál es la mayor, y he guardado el mayor.
00:07:39
¿Qué tengo que hacer ahora?
00:07:46
Siempre aquí.
00:07:48
O aquí, en realidad.
00:07:53
He encontrado un espacio.
00:07:57
Entonces he comprobado mi actual con mayor.
00:07:59
No sé si es mayor o menor.
00:08:03
En cualquier caso, lo que tendré que hacer es prepararme para la siguiente palabra.
00:08:05
¿Cómo me preparo para la siguiente palabra?
00:08:11
Antes de volver para arriba, aquí dentro, dentro de este else, ¿qué tengo que hacer?
00:08:16
Si yo vuelvo arriba sin borrar actual, seguiré pegando detrás de actual las siguientes letras.
00:08:28
Entonces la siguiente palabra sería actuales.
00:08:38
Entonces aquí, una vez que he encontrado un espacio, entonces he hecho mis comprobaciones para ver si es la mayor o no,
00:08:43
tengo que prepararme para la siguiente palabra.
00:08:51
Es decir, actual la vuelvo a poner vacía.
00:08:55
Y luego vuelvo arriba, y ahora encontraré una E, encontraré una S, encontraré un espacio.
00:08:59
Cuando llegue a este espacio, comprueba S con este, ve que este es mayor, por lo tanto no actualizará mayor.
00:09:05
Pero yo vuelvo a poner actual vacío.
00:09:12
Y sigo, sigo, sigo, sigo, sigo, sigo, hasta el final.
00:09:15
¿Con esto funciona?
00:09:18
Cuando salgo de este for, si todo funciona,
00:09:21
System.out.println, la mayor palabra es más palabra, más mayor,
00:09:27
que tiene más mayor punto lenguaje.
00:09:37
Carácteres, carácteres no.
00:09:55
Letras igual.
00:10:02
Me falta un más.
00:10:04
Vamos a ver si funciona.
00:10:14
La palabra es texto que contiene 5 caracteres.
00:10:19
Hagamos así.
00:10:26
Yo quiero poner aquí unas comillas.
00:10:29
Para que me ponga la mayor palabra es texto entre comillas.
00:10:32
¿El problema cuál es?
00:10:35
Que si pongo una comilla aquí, me cierra esta comilla aquí y explota.
00:10:36
Porque ahora tengo una comilla perdida por ahí.
00:10:42
¿Cómo pongo una comilla?
00:10:44
Así.
00:10:49
¿Os acordáis? Lo hablamos la semana pasada del carácter de escape.
00:10:51
Esto me está diciendo, lo que viene después, no lo consideres como un comillas,
00:10:55
sino como un carácter especial, que resulta ser una comilla.
00:11:00
Esta de aquí es una comilla dentro de un string.
00:11:04
Esta comilla de aquí no se entiende como que cierra esta,
00:11:09
sino se entiende como que es el carácter comilla que va dentro de aquí.
00:11:13
Y luego pongo una también.
00:11:18
Ahí.
00:11:26
Barra, barra, para que aparezca una barra.
00:11:27
Así debería funcionar.
00:11:29
Vamos a ver si funciona.
00:11:31
Es texto que contiene 5 caracteres.
00:11:33
Funciona.
00:11:35
¿Verdad?
00:11:36
Puedo irme tranquilamente a casa y con un 10.
00:11:37
¿Sí o no?
00:11:42
Sí.
00:11:43
¿No?
00:11:44
Entonces, si yo pongo un...
00:11:45
Que claramente es más grande que texto.
00:11:48
Le pasa lo mismo del ejercicio 5.
00:11:51
O sea, como estoy utilizando el espacio para que haga mi comparación,
00:11:54
comparará todas las palabras, excepto la última.
00:12:00
Como antes, ¿os acordáis cuando contaba las palabras,
00:12:04
la última no me la contaba porque no había el espacio al final?
00:12:06
Pues aquí es lo mismo.
00:12:09
Para que esto funcionara, debería tener un carácter especial.
00:12:10
¿Verdad?
00:12:14
La última no me la contaba porque no había el espacio al final.
00:12:15
Pues aquí es lo mismo.
00:12:18
Para que esto funcionara, debería poner un espacio al final.
00:12:19
Con el espacio al final, cuando pilla este espacio,
00:12:22
considera esta palabra de aquí y la compara.
00:12:24
Así me debería funcionar.
00:12:27
¿Sí?
00:12:31
Pero, asumiendo que no se suele poner un espacio al final,
00:12:32
lo que quedaría es, al final, cuando salgo aquí,
00:12:38
yo en actual, cuando salgo de, perdóname,
00:12:43
este for de aquí, cuando salgo de este for,
00:12:46
en teoría, en actual, tengo dentro la última palabra que he leído.
00:12:50
Entonces debería volver a hacer esto una última vez.
00:12:55
¿Sí?
00:12:59
Entonces ahora, me funciona hasta si no tiene el espacio al final.
00:13:01
Ahora, aquí lo que debería hacer es que este texto,
00:13:09
en vez de mirarlo, en vez de escribirlo aquí,
00:13:12
lo mirara directamente desde el teclado, etcétera, etcétera.
00:13:15
Pero, esto ya lo hemos hecho antes en el tutorial,
00:13:19
en el vídeo anterior,
00:13:22
desde el teclado, etcétera, etcétera.
00:13:25
Pero, esto ya lo hemos hecho antes en el ejercicio 5,
00:13:27
es igual, para leer una frase.
00:13:30
Por lo tanto, os remando a ese ejercicio para mirarlo.
00:13:32
¿Vale?
00:13:36
En realidad, lo podría copiar.
00:13:37
Copio esto.
00:13:40
Y ya está.
00:13:48
Escribí una frase, etcétera, etcétera, etcétera, etcétera.
00:13:50
Y me dice que esas dos dudas y dudas,
00:13:55
que tiene 12 caracteres, es la más grande de todas.
00:13:58
¿Vale?
00:14:01
¿Dudas?
00:14:02
- Valoración:
- Eres el primero. Inicia sesión para valorar el vídeo.
- 1
- 2
- 3
- 4
- 5
- Idioma/s:
- Autor/es:
- Stefano Chiesa
- Subido por:
- Stefano C.
- Licencia:
- Reconocimiento - No comercial
- Visualizaciones:
- 14
- Fecha:
- 8 de noviembre de 2022 - 12:59
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 14′ 09″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 61.15 MBytes