Saltar navegación

20241104 ProgrEstruct-Arrays-ejercicios_7 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 11 de noviembre de 2024 por Raquel G.

3 visualizaciones

Descargar la transcripción

No se ha grabado el reconocimiento a Kalil 00:00:00
Me funciona 00:00:03
Venga, a ver, ahora 00:00:04
Vamos a ver, este código ya está 00:00:06
Ya lo hemos comprobado y estupendo 00:00:09
No, ya lo has cambiado 00:00:11
No, no lo he cambiado todavía 00:00:12
Vale, ponemos 4 00:00:14
Venga, XX 00:00:17
Y ZZ y XX 00:00:18
Vale 00:00:21
Entonces uno diría, voy a 00:00:22
Cambiar, a lo mejor uno, este mismo código 00:00:25
Me da igual hacer 00:00:27
palabra sí igual a aux de j 00:00:29
que hacer aux de j igual a 00:00:31
palabra sí, ¿no? A mí se me ha ocurrido 00:00:33
hacerlo así 00:00:35
y se me ha ocurrido hacerlo así 00:00:35
pero uno pensaría, bueno, ¿qué más me da 00:00:38
poner x igual a y 00:00:41
que poner y igual a x? Es la misma expresión, ¿no? 00:00:42
Pues vamos a cambiarla. 00:00:45
¡Qué listillos sois! 00:00:48
Y qué rápidos. 00:00:54
Sí, vale, pero está vacío 00:00:56
en el otro sentido también. 00:00:59
lo que quiero es que identifiquemos bien bien el problema 00:01:01
pero serio, vale, entonces en principio 00:01:03
esto sería lo mismo, ¿verdad? 00:01:05
esto es para comprobar 00:01:07
si esta palabra es igual 00:01:09
que esta otra, me da igual hacer 00:01:11
palabras de i equals aus de j 00:01:13
que aus de j equals 00:01:15
palabras de i 00:01:17
sí pero no 00:01:18
ahí estás cambiando j 00:01:21
no estoy cambiando j 00:01:22
no estoy incrementando j 00:01:23
lo único que he hecho 00:01:27
cambié el orden, es como si una 00:01:28
condición pones x doble igual a y 00:01:31
o pones y doble igual a x. 00:01:33
A ver, se ve raro, pero porque ya os 00:01:36
imagináis que es raro porque yo lo he puesto 00:01:38
así. Pero no es que se vea 00:01:40
raro. O sea, si tú comparas un string con otro 00:01:43
siempre es un string 00:01:45
punto igual. 00:01:46
Como el por ese lo que estás recorriendo es 00:01:47
desde j hasta el aus len. 00:01:49
Ya, pero ¿y por qué se ve 00:01:52
raro? Pues aus j no se ve raro. 00:01:53
No se ve nada raro. 00:01:56
La posición, yo voy recorriendo aus 00:01:57
para todas las posiciones. 00:01:59
Pues, ¿vale? 00:02:01
La posición J esima es igual a palabras de Y, 00:02:02
que no es igual. 00:02:07
Paso a la siguiente, la J igual a 1. 00:02:10
La posición 1 esima es igual a Y. 00:02:12
No, o sea, raro no se ve, 00:02:15
porque esto es una sentencia de igualdad. 00:02:16
X igual a Y o es igual a X, es lo mismo. 00:02:18
Entonces, uno podría haber escrito esto 00:02:21
sin haber hecho nada raro. 00:02:23
Tiene todo el sentido del mundo. 00:02:25
Entonces, ahora ejecutamos este código otra vez. 00:02:26
¿cuántas palabras vamos a introducir? 00:02:28
pues 5, venga 00:02:32
xx y i 00:02:33
xx y gg 00:02:37
vale 00:02:39
gg y me sale 00:02:40
null pointer exception 00:02:43
amai 00:02:45
null pointer exception 00:02:47
puntero nulo 00:02:50
estás accediendo a una dirección de memoria 00:02:52
nula 00:02:55
Vamos a ver dónde nos lleva 00:02:56
Uy, qué casualidad 00:02:58
A la que hemos cambiado 00:02:59
Vale, ¿qué está pasando aquí? 00:03:01
Claro, ¿qué está pasando aquí? 00:03:05
AUX 00:03:08
Cuando lo hemos creado aquí 00:03:08
Hemos hecho un array de n posiciones 00:03:09
Y este array 00:03:12
Que 00:03:16
Este array que hemos creado 00:03:18
De n posiciones 00:03:21
Al yo no meterle nada 00:03:23
que hemos dicho que cuando un array 00:03:25
es de números, por defecto 00:03:27
se le ponen ceros, pero si es de objeto 00:03:29
por defecto se le pone null 00:03:31
y los strings son objetos 00:03:32
entonces este array recién creado tiene null 00:03:34
en todas partes 00:03:37
entonces un objeto null no puede llamar 00:03:38
a ningún método, no puede 00:03:41
no puede porque es null 00:03:43
si hacemos que un objeto null llame a un método 00:03:45
me sale null pointer exception 00:03:47
claro, entonces que pasa 00:03:48
que aquí la igualdad 00:03:51
aquí la igualdad 00:03:52
hay que hacerla obligatoriamente 00:03:54
entre objetos, la igualdad entre objetos 00:03:56
se hace obligatoriamente llamando a equals 00:03:57
claro, entonces 00:03:59
aux de j es null 00:04:02
la primera vez es null 00:04:04
entonces null no puede llamar 00:04:06
a ningún método, no puede, porque un objeto null 00:04:08
no puede 00:04:10
entonces 00:04:10
me sale null pointer exception 00:04:12
pero si yo cambio el orden no hay problema 00:04:15
porque palabras de i no es null 00:04:17
puede llamar al método 00:04:19
pero sí se puede hacer la igualdad con un nul 00:04:20
¿es igual al objeto nul? 00:04:23
no, entonces si cambio el orden 00:04:25
imaginaos que quisierais seguir este orden 00:04:28
cambiando el orden está claro que no hay problema 00:04:30
palabras de ahí sí tiene algo 00:04:34
¿ese algo es igual a nul? 00:04:35
no, no es igual, o sí, sí es igual 00:04:37
no va a ser, claro 00:04:39
pero podríais hacer 00:04:40
que queréis mantener 00:04:44
que queremos mantener este orden 00:04:47
pues podemos hacer esto 00:04:49
si aux de j 00:04:51
es diferente 00:04:53
de null 00:04:57
siendo diferente de null, además 00:04:59
su contenido es igual a palabras 00:05:03
de i, si hacemos esto 00:05:05
ya lo arreglamos. 00:05:07
¿Vale? Si hacemos esto ya lo arreglamos. 00:05:09
Porque estamos diciendo, 00:05:12
a ver, voy a comprobar con cada 00:05:13
palabra j. Si esa palabra 00:05:15
es null, es que ya sé que es distinta 00:05:17
a la palabra original, es que es distinta. 00:05:19
no tengo ni que entrar 00:05:21
y si esa palabra no es null 00:05:22
entonces ahora ya 00:05:25
miro si es igual a la que estoy comprobando 00:05:26
entonces si queremos mantener este orden 00:05:29
por la razón que sea 00:05:31
añadimos esto antes 00:05:32
y listo y solucionado 00:05:34
o esto o cambiamos el orden 00:05:36
entonces si lo hacemos así 00:05:39
ahora ya si 4 00:05:43
Y VV 00:05:50
Vale, ahora ya se ha eliminado el duplicado XX 00:05:52
Vale, pues venga, un mini descansito 00:05:56
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Primer Curso
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
3
Fecha:
11 de noviembre de 2024 - 12:06
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
06′ 04″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
28.83 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid