1 00:00:00,000 --> 00:00:09,240 Este ejercicio se había quedado sin IF, porque no le hacía ninguna falta tal y como estaba. 2 00:00:10,300 --> 00:00:18,219 Entonces, la incorporación de la parte que queda, que es cuidado, si te has saltado, vuelve al principio. 3 00:00:18,359 --> 00:00:20,500 La incorporación ahora ya es la que mete el IF. 4 00:00:21,219 --> 00:00:29,179 Tengo dos situaciones, que como consecuencia de hacer esta suma, me haya salido del último char. 5 00:00:29,179 --> 00:00:30,859 Pues ahí hay que meter el if 6 00:00:30,859 --> 00:00:34,079 Entonces aquí tenemos que tener la tabla presente 7 00:00:34,079 --> 00:00:46,750 Vale, esta tabla se veía más o menos bien 8 00:00:46,750 --> 00:00:50,130 Vale, aquí tenemos los numeritos 9 00:00:50,130 --> 00:00:53,070 No, perdón, estábamos hablando de letras minúsculas 10 00:00:53,070 --> 00:00:57,789 Aquí, tenemos aquí las letras minúsculas 11 00:00:57,789 --> 00:01:03,049 Que van desde la A, que es el 97 12 00:01:03,049 --> 00:01:06,209 A la Z, que es el 122 13 00:01:06,209 --> 00:01:08,969 Con lo cual, ¿cuántas letras hay? 14 00:01:09,969 --> 00:01:13,049 Pues, ¿cuántas letras hay? 15 00:01:13,390 --> 00:01:16,629 Habrá 123 menos 97, ¿no? 16 00:01:17,430 --> 00:01:19,150 O sea, las del alfabeto menos la ñ 17 00:01:19,150 --> 00:01:24,519 ¿Cuántas letras hay en este alfabeto minúsculo? 18 00:01:24,719 --> 00:01:26,180 A ver, que si lo habéis hecho me lo podéis decir 19 00:01:26,180 --> 00:01:27,340 Porque tendréis que haber hecho el cálculo 20 00:01:27,340 --> 00:01:32,519 ¿No? 21 00:01:32,879 --> 00:01:36,540 O sea, habrá tantas letras como 123 menos 97 22 00:01:36,540 --> 00:01:39,359 O lo estoy diciendo mal, lo de los extremos 23 00:01:39,359 --> 00:01:49,099 O 122 menos 96, la que sea 24 00:01:49,099 --> 00:01:53,140 Entonces, a 122 que tengo hasta la Z 25 00:01:53,140 --> 00:01:58,420 Le quito las 96 anteriores 26 00:01:58,420 --> 00:02:00,819 A 122 que tengo 27 00:02:00,819 --> 00:02:06,200 122 menos las 96 anteriores 28 00:02:06,200 --> 00:02:07,700 Que no son letras minúsculas 29 00:02:07,700 --> 00:02:11,219 Y me salen 26 letras 30 00:02:11,219 --> 00:02:11,560 ¿Vale? 31 00:02:11,699 --> 00:02:12,800 Como tenía que ser 32 00:02:12,800 --> 00:02:14,800 Porque el alfabeto español 33 00:02:14,800 --> 00:02:17,960 Español siempre hemos dicho que eran 27, 27, 27, pero claro, por la E. 34 00:02:19,759 --> 00:02:26,800 Aunque antiguamente en mis tiempos la EY contaba como letra y la CH, efectivamente. 35 00:02:28,800 --> 00:02:31,080 Vale, pues entonces, que no se nos olvide, 26. 36 00:02:32,180 --> 00:02:36,919 Bueno, pues entonces ahora ya aquí la modificación de este ejercicio implica 37 00:02:36,919 --> 00:02:43,819 que en función del resultado de esta suma, la asignación a C1 es una o es otra. 38 00:02:43,819 --> 00:02:45,520 Esa es la modificación 39 00:02:45,520 --> 00:02:47,599 Vamos a hacerlo aquí aparte 40 00:02:47,599 --> 00:02:52,000 Modificación 41 00:02:52,000 --> 00:02:56,639 Considerando 42 00:02:56,639 --> 00:03:01,000 La posibilidad 43 00:03:01,000 --> 00:03:02,960 De salirnos del alfabeto 44 00:03:02,960 --> 00:03:09,699 Vale, pues el meollo del asunto 45 00:03:09,699 --> 00:03:10,919 Está aquí 46 00:03:10,919 --> 00:03:13,120 Está aquí 47 00:03:13,120 --> 00:03:15,639 Eso es lo que ya no puede ser así 48 00:03:15,639 --> 00:03:17,879 Calcado, tal cual, ahí está el meollo del asunto 49 00:03:17,879 --> 00:03:19,560 Nosotros antes 50 00:03:19,560 --> 00:03:21,819 Hemos cogido nuestra letrita 51 00:03:21,819 --> 00:03:26,159 la 101, por ejemplo, la que fuera 52 00:03:26,159 --> 00:03:30,000 la 101, le hemos sumado el parámetro 4 53 00:03:30,000 --> 00:03:34,099 pues nos hemos ido a la 105, ya está, y ahora la 105 pero 54 00:03:34,099 --> 00:03:38,159 convertida a char, se la pasamos aquí, y no nos hemos cuestionado 55 00:03:38,159 --> 00:03:42,099 nada más, vale, pues entonces ahora hay que cambiar porque en función 56 00:03:42,099 --> 00:03:46,000 de si esto, la suma de mi letrita más 57 00:03:46,000 --> 00:03:48,939 el salto, se sale 58 00:03:48,939 --> 00:03:51,659 de 122 o no 59 00:03:51,659 --> 00:03:53,620 la asignación es una u otra 60 00:03:53,620 --> 00:03:58,280 claro, porque si no es menor de 122 61 00:03:58,280 --> 00:04:00,139 tengo que asignarle otra cosa 62 00:04:00,139 --> 00:04:01,879 habrá que ver cuál, tengo que volver 63 00:04:01,879 --> 00:04:03,740 para arriba, vale, pues entonces 64 00:04:03,740 --> 00:04:06,060 esto ya no nos gusta así 65 00:04:06,060 --> 00:04:07,620 pues vamos a 66 00:04:07,620 --> 00:04:09,659 vamos a 67 00:04:09,659 --> 00:04:11,840 hacerlo directamente una por una y luego 68 00:04:11,840 --> 00:04:13,780 ya, pues uno podría arreglar 69 00:04:13,780 --> 00:04:15,740 el código por lo más bonito, pero vamos a dejar 70 00:04:15,740 --> 00:04:17,360 claro cuál es el cambio 71 00:04:17,360 --> 00:04:18,899 esencial, el cambio es 72 00:04:18,899 --> 00:04:21,600 Cuidado, si C1 más 73 00:04:21,600 --> 00:04:23,100 A ver, si C1 más N 74 00:04:23,100 --> 00:04:25,779 Es, bueno, vamos a poner el caso bueno 75 00:04:25,779 --> 00:04:27,879 Es menor o igual que 122 76 00:04:27,879 --> 00:04:28,899 ¿Verdad? 77 00:04:29,980 --> 00:04:31,800 Es menor o igual que 122 78 00:04:31,800 --> 00:04:33,899 Porque es 122, ¿no? La última, la Z 79 00:04:33,899 --> 00:04:35,519 La Z es 122 80 00:04:35,519 --> 00:04:38,220 Vale, si C1 más N es menor o igual que 122 81 00:04:38,220 --> 00:04:39,980 Magnífico, no me he salido 82 00:04:39,980 --> 00:04:41,639 Del alfabeto, entonces 83 00:04:41,639 --> 00:04:43,439 Se queda esta, ¿vale? 84 00:04:44,480 --> 00:04:45,600 Como he dicho que nos acostumbremos 85 00:04:46,199 --> 00:04:47,680 A poner llaves 86 00:04:47,680 --> 00:04:49,740 Para no liarnos 87 00:04:49,740 --> 00:04:51,160 Y si no 88 00:04:51,160 --> 00:04:53,379 Es que me he salido 89 00:04:53,379 --> 00:04:54,639 Pues entonces 90 00:04:54,639 --> 00:04:57,639 No le podemos asignar 91 00:04:57,639 --> 00:05:00,279 A C1 directamente la suma 92 00:05:00,279 --> 00:05:02,459 Sino que le tenemos que 93 00:05:02,459 --> 00:05:05,160 Retroceder hacia atrás 94 00:05:05,160 --> 00:05:06,160 Restarle 26 95 00:05:06,160 --> 00:05:09,259 Es decir 96 00:05:09,259 --> 00:05:10,339 Vamos a ver 97 00:05:10,339 --> 00:05:12,259 Imagínate que a mí me han dado la Z 98 00:05:12,259 --> 00:05:14,439 122 99 00:05:14,439 --> 00:05:16,439 Entonces me dicen que avance 2 100 00:05:16,439 --> 00:05:18,079 Me voy a 124 101 00:05:18,079 --> 00:05:20,740 No, a 124 no tengo que irme 102 00:05:20,740 --> 00:05:22,360 26 más arriba 103 00:05:22,360 --> 00:05:24,019 Para ahora ya ir a la C 104 00:05:24,019 --> 00:05:24,699 99 105 00:05:24,699 --> 00:05:27,480 Claro 106 00:05:27,480 --> 00:05:28,500 Vale 107 00:05:28,500 --> 00:05:32,519 Entonces tengo que, pum, hacer el salto 108 00:05:32,519 --> 00:05:34,339 Hacia atrás, vale, la comprobamos 109 00:05:34,339 --> 00:05:36,399 Si es 26, 27, pero estoy pensando 110 00:05:36,399 --> 00:05:37,800 En voz alta sin pensar en los límites 111 00:05:37,800 --> 00:05:39,040 Entonces 112 00:05:39,040 --> 00:05:41,660 Si no 113 00:05:41,660 --> 00:05:44,399 ¿Qué tenemos que hacer? Pues C1 114 00:05:44,399 --> 00:05:46,720 será igual a la conversión 115 00:05:46,720 --> 00:05:48,540 a char también, porque c1 es un char 116 00:05:48,540 --> 00:05:50,480 pero no de c1 117 00:05:50,480 --> 00:05:52,740 más n sin más, sino de c1 118 00:05:52,740 --> 00:05:54,600 más n yéndome 119 00:05:54,600 --> 00:05:58,339 hacia arriba, menos 26 120 00:05:58,339 --> 00:05:59,439 vale 121 00:05:59,439 --> 00:06:01,939 y esto mismo 122 00:06:01,939 --> 00:06:04,199 con las 123 00:06:04,199 --> 00:06:04,600 otras 124 00:06:04,600 --> 00:06:07,600 quedan tres i, muy feo, pues 125 00:06:07,600 --> 00:06:10,199 se podría cambiar, poner esto 126 00:06:10,199 --> 00:06:12,040 esto se puede hacer con un operador 127 00:06:12,040 --> 00:06:14,040 condicionado en una sola 128 00:06:14,040 --> 00:06:16,240 línea, porque claro, ¿qué es lo que hago en el if 129 00:06:16,240 --> 00:06:18,100 y en el else? a la misma 130 00:06:18,100 --> 00:06:19,920 variable le asigno o una cosa 131 00:06:19,920 --> 00:06:21,959 u otra, entonces cuando estamos en ese 132 00:06:21,959 --> 00:06:24,019 caso concreto, que en mi rama 133 00:06:24,019 --> 00:06:26,079 del if y en mi rama del else, lo único que se 134 00:06:26,079 --> 00:06:27,779 hace es a la misma variable 135 00:06:27,779 --> 00:06:29,220 o le asigno esto, le asigno esto 136 00:06:29,220 --> 00:06:32,139 pues todo esto mismo lo podríamos haber puesto así también 137 00:06:32,139 --> 00:06:35,399 c1 igual 138 00:06:35,399 --> 00:06:37,240 y me pregunto 139 00:06:37,240 --> 00:06:39,519 vamos a ver qué pasa con esto 140 00:06:39,519 --> 00:06:44,540 ¿qué pasa con esto? pues entonces 141 00:06:44,540 --> 00:06:45,660 le asignamos esto 142 00:06:45,660 --> 00:06:47,639 Y si no el otro 143 00:06:47,639 --> 00:06:57,120 Vale 144 00:06:57,120 --> 00:07:00,079 Y me ha faltado el 145 00:07:00,079 --> 00:07:01,699 Menos 26 aquí 146 00:07:01,699 --> 00:07:06,560 A ver, en esta línea estoy haciendo 147 00:07:06,560 --> 00:07:07,720 El mismo código de arriba 148 00:07:07,720 --> 00:07:10,720 Pero con este operador 149 00:07:10,720 --> 00:07:12,279 Porque en el if de arriba 150 00:07:12,279 --> 00:07:13,540 Estamos haciendo 151 00:07:13,540 --> 00:07:15,819 A C1 le asigno esto 152 00:07:15,819 --> 00:07:17,959 O a C1 le asigno esto 153 00:07:17,959 --> 00:07:20,720 En función de una condición, luego esto es una asignación condicionada 154 00:07:20,720 --> 00:07:22,800 Entonces otra forma de escribirlo 155 00:07:22,800 --> 00:07:23,939 Otra forma de escribirlo 156 00:07:23,939 --> 00:07:25,339 Sería esta, por ahora 157 00:07:25,339 --> 00:07:27,180 Lo pongo en comentarios 158 00:07:27,180 --> 00:07:29,860 Pero vamos, que lo dejamos aquí 159 00:07:29,860 --> 00:07:39,000 Vale 160 00:07:39,000 --> 00:07:41,040 Y esto mismo 161 00:07:41,040 --> 00:07:43,560 Lo podríamos hacer con C2 y C3 162 00:07:43,560 --> 00:07:52,980 Vale, lo que pasa es que 163 00:07:52,980 --> 00:07:54,579 A ver, que tontería 164 00:07:54,579 --> 00:07:56,579 A ver, yo estoy operando así en piloto automático 165 00:07:56,579 --> 00:07:57,500 Pero 166 00:07:57,500 --> 00:07:59,240 Vamos a ver 167 00:07:59,240 --> 00:08:03,209 Ah, no, no, no, perdón, perdón, es que creían que eran consecutivas 168 00:08:03,209 --> 00:08:05,569 C1, C2, C3, no tienen por qué serlo, nada, nada, no he dicho nada 169 00:08:05,569 --> 00:08:10,009 C2 170 00:08:10,009 --> 00:08:13,120 Y C3 171 00:08:13,120 --> 00:08:23,649 vale, pues si no me he equivocado en los copias 172 00:08:23,649 --> 00:08:25,449 y pegas, cambiar los nombres de variables 173 00:08:25,449 --> 00:08:27,509 y todo eso, debería 174 00:08:27,509 --> 00:08:29,550 funcionar, pero 175 00:08:29,550 --> 00:08:31,610 cuando uno hace las pruebas 176 00:08:31,610 --> 00:08:33,049 es cuando realmente tiene la 177 00:08:33,049 --> 00:08:35,590 casi garantía de que no 178 00:08:35,590 --> 00:08:36,490 ha cometido ninguno 179 00:08:36,490 --> 00:08:39,370 vale, bueno, pues venga 180 00:08:39,370 --> 00:08:41,690 entonces lo que pasa es que voy 181 00:08:41,690 --> 00:08:42,029 a 182 00:08:42,029 --> 00:08:45,570 esta versión del código la voy 183 00:08:45,570 --> 00:08:48,730 a comentar, vale 184 00:08:48,730 --> 00:08:50,870 porque esta versión del código era 185 00:08:50,870 --> 00:08:58,059 sin tener en cuenta, vale, todo esto era sin tener en cuenta 186 00:08:58,059 --> 00:09:16,679 vale, sin tener en cuenta que me salga del alfabeto era esta parte de arriba 187 00:09:16,679 --> 00:09:20,899 y ahora vamos a hacer la modificación, sería esta, entonces mi programa 188 00:09:20,899 --> 00:09:24,840 ahora mismo se le queda solamente descomentado el leerlas, este, si ya está 189 00:09:24,840 --> 00:09:30,879 vale, venga, pues vamos 190 00:09:30,879 --> 00:09:36,039 a probarlo, ejercicio 19, vale, entonces 191 00:09:36,039 --> 00:09:40,559 si le damos, por ejemplo, le damos 192 00:09:40,559 --> 00:09:43,059 X, Y y Z 193 00:09:43,059 --> 00:09:45,299 Y le decimos que salte 1 194 00:09:45,299 --> 00:09:47,559 X, Y y Z tendría que darme 195 00:09:47,559 --> 00:09:48,659 Y, Z y A 196 00:09:48,659 --> 00:09:51,340 Y, Z y A 197 00:09:51,340 --> 00:09:52,179 Vamos a ver 198 00:09:52,179 --> 00:09:54,679 El numerito va a ser 1 199 00:09:54,679 --> 00:09:57,399 Y la cadena hemos dicho que es 200 00:09:57,399 --> 00:09:58,679 X, Y y Z 201 00:09:58,679 --> 00:10:00,840 No, en minúscula porque si no 202 00:10:00,840 --> 00:10:02,139 X, Y y Z 203 00:10:02,139 --> 00:10:04,879 Es que 204 00:10:04,879 --> 00:10:06,820 No, es que no lo he mostrado 205 00:10:06,820 --> 00:10:07,759 Que no he hecho el system out 206 00:10:07,759 --> 00:10:10,000 ¿Vale? 207 00:10:10,559 --> 00:10:34,039 Ah, no, pero sigue esperando algo. Ah, no, es que estoy... Ah, perdón, perdón, perdón, claro, porque he ido uno por uno, perdón, perdón. Vale, vale, vale. Ah, vale, sí, podría haber seguido, vale, pero bueno, ya lo había parado, pues lo hago otra vez. Vale, vale. Pues entonces ahora sí, el programa era uno y ahora X, Y y Z. 208 00:10:35,919 --> 00:10:38,139 Y ahora sí que es que no lo he mostrado, ¿verdad? 209 00:10:38,139 --> 00:10:43,159 Que no, que no, que no he hecho el system out aquí 210 00:10:43,159 --> 00:10:44,480 Que he hecho el avance 211 00:10:44,480 --> 00:10:45,940 Pero el system out este 212 00:10:45,940 --> 00:10:48,299 Luego para mostrarlo, esto no lo he hecho 213 00:10:48,299 --> 00:10:51,450 Aquí 214 00:10:51,450 --> 00:10:54,950 Vale, entonces me falta mostrar el resultado 215 00:10:54,950 --> 00:10:56,169 Era lo que no tenía 216 00:10:56,169 --> 00:10:58,710 Pues venga, empezamos otra vez 217 00:10:58,710 --> 00:11:00,190 1 218 00:11:00,190 --> 00:11:02,409 X, Y y Z 219 00:11:02,409 --> 00:11:04,269 Y, Z y A 220 00:11:04,269 --> 00:11:05,929 Vale 221 00:11:05,929 --> 00:11:08,070 Con letras 222 00:11:08,070 --> 00:11:10,070 Cuales quiera, avanza 2 223 00:11:10,070 --> 00:11:12,669 G, E 224 00:11:12,669 --> 00:11:14,210 Y X 225 00:11:14,210 --> 00:11:17,899 G, H, Y 226 00:11:17,899 --> 00:11:18,679 Avanzado 2 227 00:11:18,679 --> 00:11:20,960 E, avanzado 2 228 00:11:20,960 --> 00:11:23,120 F, G 229 00:11:23,120 --> 00:11:24,620 Y X, avanzado 2 230 00:11:24,620 --> 00:11:26,039 Pero quería yo hacer 231 00:11:26,039 --> 00:11:29,740 3 232 00:11:29,740 --> 00:11:32,620 G, H 233 00:11:32,620 --> 00:11:33,840 Y X 234 00:11:33,840 --> 00:11:35,759 Que era la última, tendrá que saltar a la X 235 00:11:35,759 --> 00:11:36,480 Y, Z 236 00:11:36,480 --> 00:11:38,600 Efectivamente 237 00:11:38,600 --> 00:11:41,539 Ha saltado 3 cada una de ellas 238 00:11:41,539 --> 00:11:44,620 H, I, J 239 00:11:44,620 --> 00:11:46,620 I, J, K 240 00:11:46,620 --> 00:11:48,720 Y, Z y A 241 00:11:48,720 --> 00:11:51,879 Vale, pues esa modificación ya la tenemos incorporada 242 00:11:51,879 --> 00:11:54,679 ¿Vale? 243 00:12:02,200 --> 00:12:06,240 Vale, a ver 244 00:12:06,240 --> 00:12:13,179 ¿Algún ejercicio más? 245 00:12:13,460 --> 00:12:14,240 ¿O queréis que sigamos? 246 00:12:14,240 --> 00:12:16,940 En el 19 hay un problema 247 00:12:16,940 --> 00:12:17,620 ¿Cuál? 248 00:12:17,659 --> 00:12:18,759 Si pones un número 249 00:12:18,759 --> 00:12:24,330 Mayor que el doble de 26 250 00:12:24,330 --> 00:12:27,330 Sí, tienes razón 251 00:12:27,330 --> 00:12:40,929 Luego, claro, cuando uno ya se mete en una fase de pruebas y empieza a hacer ya pruebas muy completas, pues se da cuenta, en la mayoría de los casos, que hay situaciones raras que no hemos contemplado. 252 00:12:41,350 --> 00:12:54,350 Efectivamente, una de esas. Si le decimos que avance 87, pues cuando retroceda 26, no. Entonces, habría que hacer el resto de 87 entre 26 para ver los 26 ejes que se tiene que quitar de encima. 253 00:12:57,330 --> 00:12:59,330 Pero bueno, vamos a asumir que... 254 00:12:59,330 --> 00:13:01,230 Tú incorporalo si quieres, pero como si no hubiéramos dicho nada. 255 00:13:01,330 --> 00:13:02,730 No vamos a complicarlo ahora. 256 00:13:03,110 --> 00:13:03,230 Vale. 257 00:13:13,879 --> 00:13:15,460 Venga, pues... 258 00:13:15,460 --> 00:13:16,179 26. 259 00:13:18,039 --> 00:13:19,240 Pedir día, mes y año. 260 00:13:19,360 --> 00:13:20,860 Indicar si es una fecha válida. 261 00:13:21,019 --> 00:13:22,799 Una fecha válida, según nuestro calendario. 262 00:13:24,019 --> 00:13:27,340 Asumiendo los meses con la duración que tengan. 263 00:13:29,259 --> 00:13:29,659 Venga. 264 00:13:30,179 --> 00:13:35,240 Este es el 26. 265 00:13:59,470 --> 00:14:05,669 Vale, pues a ver, pedir datos de entrada, pedir un día, un mes y un año. 266 00:14:06,009 --> 00:14:09,730 Antes de seguir analizando ya el resto del ejercicio, vamos a pedir esos datos. 267 00:14:10,370 --> 00:14:12,529 Entonces, aquí tenemos datos de diferentes tipos. 268 00:14:12,529 --> 00:14:15,750 El día va a ser un numerito entero 269 00:14:15,750 --> 00:14:17,570 Pero el mes 270 00:14:17,570 --> 00:14:18,750 Va a ser una cadena 271 00:14:18,750 --> 00:14:21,309 Y el año va a ser otro numerito entero 272 00:14:21,309 --> 00:14:22,870 Vamos a pedirlo en ese orden 273 00:14:22,870 --> 00:14:24,490 Y así nos vuelve a aparecer el problema 274 00:14:24,490 --> 00:14:25,950 De que después de leer un número 275 00:14:25,950 --> 00:14:28,649 Cuando lees una cadena tienes que limpiar el buffer, etc 276 00:14:28,649 --> 00:14:31,309 Por lo pronto vamos a declarar las variables 277 00:14:31,309 --> 00:14:32,970 Para leer esos datos 278 00:14:32,970 --> 00:14:41,639 Vale, esto lo vamos a necesitar 279 00:14:41,639 --> 00:14:48,210 Y ahora 280 00:14:48,210 --> 00:14:51,389 Nuestras variables son 281 00:14:51,389 --> 00:14:52,789 El año 282 00:14:52,789 --> 00:14:55,950 Esto es porque como año tiene la ñ 283 00:14:55,950 --> 00:14:57,870 Pues así es más cómodo 284 00:14:57,870 --> 00:14:59,529 El día y el mes 285 00:14:59,529 --> 00:15:03,389 Vale, entonces 286 00:15:03,389 --> 00:15:06,909 Introduzca día 287 00:15:06,909 --> 00:15:12,570 Entonces él va a leer 288 00:15:12,570 --> 00:15:17,669 13, 12, 27, 314 289 00:15:17,669 --> 00:15:19,730 Lo vamos a guardar aquí 290 00:15:19,730 --> 00:15:24,279 Como esperamos que sea un entero 291 00:15:24,279 --> 00:15:25,659 Lo leemos con nexting 292 00:15:25,659 --> 00:15:27,000 Porque esperamos que sea un entero 293 00:15:27,000 --> 00:15:28,700 Si luego lo mete un entero 294 00:15:28,700 --> 00:15:29,559 Si no que mete pepito 295 00:15:29,559 --> 00:15:31,500 El programa ya sabéis que va a dar una excepción 296 00:15:31,500 --> 00:15:32,139 Y se va a detener 297 00:15:32,139 --> 00:15:34,419 Y ahora mismo no podemos hacer otra cosa 298 00:15:34,419 --> 00:15:36,340 Porque no sabemos hacer otra cosa 299 00:15:36,340 --> 00:15:38,740 Vale, pues le decimos lo mismo 300 00:15:38,740 --> 00:15:39,600 Ah, perdón 301 00:15:39,600 --> 00:15:42,120 Que el mes no es entero 302 00:15:42,120 --> 00:15:43,960 Vale 303 00:15:43,960 --> 00:15:45,700 Sí, pero no 304 00:15:45,700 --> 00:15:47,720 Vamos a decir febrero, marzo 305 00:15:47,720 --> 00:15:48,480 Que me tal que sea 306 00:15:48,480 --> 00:15:54,830 el mes 307 00:15:54,830 --> 00:15:57,289 vale, pues venga, ahora 308 00:15:57,289 --> 00:15:58,649 introduzca 309 00:15:58,649 --> 00:16:02,460 el mes 310 00:16:02,460 --> 00:16:05,019 e introduzca 311 00:16:05,019 --> 00:16:09,029 el año 312 00:16:09,029 --> 00:16:14,110 porque normalmente nos referimos 313 00:16:14,110 --> 00:16:15,610 a los meses como enero, febrero, marzo 314 00:16:15,610 --> 00:16:18,289 no sueles decir mes 1, mes 2, mes 3 315 00:16:18,289 --> 00:16:23,149 bueno, pues vamos a pedir los datos 316 00:16:23,149 --> 00:16:23,950 entonces 317 00:16:23,950 --> 00:16:26,509 la parte de la interfaz de usuario 318 00:16:26,509 --> 00:16:28,429 que en nuestro caso la interfaz de usuario son 319 00:16:28,429 --> 00:16:30,309 los system out y los scan, no es otra cosa 320 00:16:30,309 --> 00:16:32,710 la parte de la interfaz siempre hay que hacerla 321 00:16:32,710 --> 00:16:34,350 no pensando en el código 322 00:16:34,350 --> 00:16:36,610 hay que hacerla pensando en que hay un humano 323 00:16:36,610 --> 00:16:37,529 sentado 324 00:16:37,529 --> 00:16:40,470 porque si lo haces pensando en la facilidad 325 00:16:40,470 --> 00:16:42,269 de tu código, vas a hacer una aplicación 326 00:16:42,269 --> 00:16:44,370 efectivamente poco accesible, poco amable 327 00:16:44,370 --> 00:16:46,590 entonces no le vamos a decir a un tío 328 00:16:46,590 --> 00:16:48,470 mete el mes y esperar que nos diga 329 00:16:48,470 --> 00:16:50,490 pero mete el mes por el numerito 330 00:16:50,490 --> 00:16:52,470 hombre, a ver, uno se puede dar cuenta rápido 331 00:16:52,470 --> 00:16:54,850 que julio es 7 o que agosto es 8 332 00:16:54,850 --> 00:16:56,029 pero le complicamos la vida 333 00:16:56,029 --> 00:16:59,029 entonces la interfaz 334 00:16:59,029 --> 00:17:00,710 siempre hay que hacerla pensando en 335 00:17:00,710 --> 00:17:04,279 vale, pues entonces 336 00:17:04,279 --> 00:17:05,599 como el mes 337 00:17:05,599 --> 00:17:07,579 es un 338 00:17:07,579 --> 00:17:09,839 string, lo leemos con nextline 339 00:17:09,839 --> 00:17:12,160 y como el año es un entero 340 00:17:12,160 --> 00:17:14,019 lo leemos con nextline 341 00:17:14,019 --> 00:17:16,319 entonces aquí que nos va a pasar, ya sabemos 342 00:17:16,319 --> 00:17:18,200 lo que nos va a pasar, vamos a 343 00:17:18,200 --> 00:17:19,700 ejecutar solamente esta parte 344 00:17:19,700 --> 00:17:22,519 para ver si no sale ningún error y las lecturas 345 00:17:22,519 --> 00:17:23,839 las hace, bueno vamos a 346 00:17:23,839 --> 00:17:25,759 Hacer simplemente una comprobación 347 00:17:25,759 --> 00:17:27,799 A ver si hemos leído bien las cosas 348 00:17:27,799 --> 00:17:30,099 Que nos muestre el día 349 00:17:30,099 --> 00:17:32,900 Concatenado 350 00:17:32,900 --> 00:17:34,700 Con 351 00:17:34,700 --> 00:17:37,099 El mes 352 00:17:37,099 --> 00:17:39,440 Si, perdón, es que 353 00:17:39,440 --> 00:17:42,640 Con el mes 354 00:17:42,640 --> 00:17:46,359 Y concatenado 355 00:17:46,359 --> 00:17:47,740 Con 356 00:17:47,740 --> 00:17:49,960 El año 357 00:17:49,960 --> 00:17:52,059 Vamos a hacer solamente 358 00:17:52,059 --> 00:17:53,420 Esta primera prueba para ver si 359 00:17:53,420 --> 00:17:55,319 la parte de lectura, está bien 360 00:17:55,319 --> 00:17:56,740 entonces 361 00:17:56,740 --> 00:18:00,420 ejecutamos esto 362 00:18:00,420 --> 00:18:03,220 introduzca día, el día 5 363 00:18:03,220 --> 00:18:05,039 y no nos deja 364 00:18:05,039 --> 00:18:05,680 meter el mes 365 00:18:05,680 --> 00:18:08,019 el mes lo salta 366 00:18:08,019 --> 00:18:10,299 ya nos dice introduzca año 367 00:18:10,299 --> 00:18:13,180 pues venga, el 765 368 00:18:13,180 --> 00:18:16,960 y del mes efectivamente ha pasado 369 00:18:16,960 --> 00:18:18,720 ¿no? es el 5 370 00:18:18,720 --> 00:18:20,079 del año 765 371 00:18:20,079 --> 00:18:22,599 esto ya nos lo podíamos esperar 372 00:18:22,599 --> 00:18:24,700 porque como 373 00:18:24,700 --> 00:18:26,759 os enterasteis muy bien de la clase 374 00:18:26,759 --> 00:18:28,680 del otro día y si no lo repasasteis 375 00:18:28,680 --> 00:18:30,799 en casa y todo eso, ya no podíamos 376 00:18:30,799 --> 00:18:32,019 esperar que aquí teníamos 377 00:18:32,019 --> 00:18:34,059 la combinación 378 00:18:34,059 --> 00:18:36,960 peligrosa, más que peligrosa 379 00:18:36,960 --> 00:18:37,900 la combinación 380 00:18:37,900 --> 00:18:39,640 conflictiva 381 00:18:39,640 --> 00:18:42,160 estoy leyendo un número 382 00:18:42,160 --> 00:18:44,339 y justo después de leer un número 383 00:18:44,339 --> 00:18:46,019 leo un string 384 00:18:46,019 --> 00:18:47,480 entonces 385 00:18:47,480 --> 00:18:49,099 el número 386 00:18:49,099 --> 00:18:52,759 ha sido recogido del buffer por next in 387 00:18:52,759 --> 00:18:54,500 pero el salto de línea 388 00:18:54,500 --> 00:18:56,759 no, luego next line 389 00:18:56,759 --> 00:18:57,799 como next line 390 00:18:57,799 --> 00:19:00,200 le vale cualquier cosa 391 00:19:00,200 --> 00:19:01,740 no es como next in o next double 392 00:19:01,740 --> 00:19:03,380 solo 393 00:19:03,380 --> 00:19:06,119 esperan del buffer números y double 394 00:19:06,119 --> 00:19:08,400 pero como next line espera cualquier cosa 395 00:19:08,400 --> 00:19:10,480 ve el salto de línea y dice pues ya está, será esto 396 00:19:10,480 --> 00:19:12,339 será la cadena vacía con un salto de línea 397 00:19:12,339 --> 00:19:13,900 entonces ha cogido eso 398 00:19:13,900 --> 00:19:15,980 y el mes ya se ha nutrido 399 00:19:15,980 --> 00:19:18,660 ya se ha nutrido pero con quien, con la cadena vacía 400 00:19:18,660 --> 00:19:20,440 y nos lo ha mostrado, si el programa 401 00:19:20,440 --> 00:19:22,259 ha funcionado perfectamente, está aquí 402 00:19:22,259 --> 00:19:24,440 lo que pasa es que no la vemos 403 00:19:24,440 --> 00:19:26,019 Bueno es que me falta un 404 00:19:26,019 --> 00:19:27,819 Para que se vea más claro 405 00:19:27,819 --> 00:19:30,480 Me falta un guioncito ahí 406 00:19:30,480 --> 00:19:33,700 Ahí 407 00:19:33,700 --> 00:19:34,900 Me falta aquí un guion 408 00:19:34,900 --> 00:19:38,079 Vale entonces efectivamente yo puedo ejecutar esto 409 00:19:38,079 --> 00:19:39,920 Introduzca día 410 00:19:39,920 --> 00:19:41,480 El 4 del año 411 00:19:41,480 --> 00:19:42,039 El 23 412 00:19:42,039 --> 00:19:45,799 Claro que ha cogido la cadena vacía 413 00:19:45,799 --> 00:19:47,240 Entonces ha funcionado bien 414 00:19:47,240 --> 00:19:49,799 Entonces el problema es 415 00:19:49,799 --> 00:19:51,299 Que tenemos que identificar 416 00:19:51,299 --> 00:19:53,400 Esa combinación 417 00:19:53,400 --> 00:19:55,619 Después de un número estás leyendo la cadena 418 00:19:55,619 --> 00:19:57,759 cuidado, después de un next in, un next double 419 00:19:57,759 --> 00:19:59,720 un next float, estás leyendo 420 00:19:59,720 --> 00:20:00,720 un next line 421 00:20:00,720 --> 00:20:04,460 pues haces esto 422 00:20:04,460 --> 00:20:07,319 y dices, a ver, este next line 423 00:20:07,319 --> 00:20:08,279 es un 424 00:20:08,279 --> 00:20:12,890 es un next line cuya única función 425 00:20:12,890 --> 00:20:14,970 es quitar, leer 426 00:20:14,970 --> 00:20:17,009 la cadena vacía que se ha quedado 427 00:20:17,009 --> 00:20:18,289 después de next in, leerla 428 00:20:18,289 --> 00:20:21,049 entonces como ya la habrá leído y no se la 429 00:20:21,049 --> 00:20:21,890 asignamos a ningún lado 430 00:20:21,890 --> 00:20:24,569 esto no hace falta que hagamos una asignación 431 00:20:24,569 --> 00:20:26,769 si yo no hago una asignación aquí a nadie 432 00:20:26,769 --> 00:20:28,170 de lo que he leído 433 00:20:28,170 --> 00:20:29,970 lo quito esta parte 434 00:20:29,970 --> 00:20:31,410 lo que significa es que eso que he leído 435 00:20:31,410 --> 00:20:34,029 la máquina virtual dice, uy, ¿no me das 436 00:20:34,029 --> 00:20:35,990 una caja para meterlo? Fuera 437 00:20:35,990 --> 00:20:38,130 en nuestro caso no queremos una caja 438 00:20:38,130 --> 00:20:39,910 para meter la cadena vacía, lo único que queríamos era 439 00:20:39,910 --> 00:20:42,089 sacarla de ahí, pues no la meto en ninguna 440 00:20:42,089 --> 00:20:43,990 caja vacía, fuera, y ahora 441 00:20:43,990 --> 00:20:46,049 ya, como ya sí que se ha quedado el buffer 442 00:20:46,049 --> 00:20:48,009 vacío, ya no hay nada, aquí 443 00:20:48,009 --> 00:20:50,190 ya sí que se va a quedar esperando, no le va a quedar más remedio 444 00:20:50,190 --> 00:20:52,250 porque ya hemos sacado la cadena vacía 445 00:20:52,250 --> 00:20:53,630 que salió después del next in 446 00:20:53,630 --> 00:20:55,890 que se quedó ahí, ya la hemos vaciado 447 00:20:55,890 --> 00:20:57,329 entonces 448 00:20:57,329 --> 00:20:59,349 Si ahora ejecutamos esto 449 00:20:59,349 --> 00:21:00,569 Estamos a día 6 450 00:21:00,569 --> 00:21:02,630 ¿De qué mes de febrero? 451 00:21:03,690 --> 00:21:05,450 ¿De qué año del 2000? 452 00:21:06,269 --> 00:21:07,109 Pues ya está 453 00:21:07,109 --> 00:21:08,809 ¿Vale? 454 00:21:09,990 --> 00:21:11,630 Bueno, pues esto simplemente 455 00:21:11,630 --> 00:21:13,549 Es los métodos 456 00:21:13,549 --> 00:21:15,109 De scan que estamos 457 00:21:15,109 --> 00:21:17,009 Que estamos usando 458 00:21:17,009 --> 00:21:18,130 Estos más sencillos 459 00:21:18,130 --> 00:21:20,950 Pues simplemente ocurre eso, que el nextin funciona así 460 00:21:20,950 --> 00:21:23,450 Yo quiero números, pues me cojo los números 461 00:21:23,450 --> 00:21:25,490 Y el salto de línea de después 462 00:21:25,490 --> 00:21:27,690 no lo cojo, entonces el buffer del teclado 463 00:21:27,690 --> 00:21:28,410 lo tiene ahí 464 00:21:28,410 --> 00:21:31,549 que luego hago un next in después 465 00:21:31,549 --> 00:21:33,789 no hay ese problema, como dijimos 466 00:21:33,789 --> 00:21:35,650 el otro día, no lo hay, porque el next in 467 00:21:35,650 --> 00:21:37,710 sigue queriendo números, con lo cual 468 00:21:37,710 --> 00:21:39,589 ese primer salto de línea que estaba 469 00:21:39,589 --> 00:21:42,049 de antes, lo ignora 470 00:21:42,049 --> 00:21:43,809 lo saca y lo tira, y coge el número 471 00:21:43,809 --> 00:21:45,529 que viene después, porque él está 472 00:21:45,529 --> 00:21:47,730 esperando números, y vuelve 473 00:21:47,730 --> 00:21:49,690 a dejar el salto de línea, pero si 474 00:21:49,690 --> 00:21:51,329 después de una lectura de número 475 00:21:51,329 --> 00:21:53,730 tenemos una lectura de cadena con next line 476 00:21:53,730 --> 00:21:55,410 es cuando esa combinación se queda así 477 00:21:55,410 --> 00:21:57,630 pues insertamos entre ambas 478 00:21:57,630 --> 00:21:59,470 esto y se acabó 479 00:21:59,470 --> 00:21:59,950 ¿vale? 480 00:22:01,789 --> 00:22:02,349 vale 481 00:22:02,349 --> 00:22:05,569 bueno, pues entonces la lectura 482 00:22:05,569 --> 00:22:06,950 de los primeros datos ya está 483 00:22:06,950 --> 00:22:09,009 y ahora 484 00:22:09,009 --> 00:22:11,630 ¿qué dice el resto 485 00:22:11,630 --> 00:22:12,309 del ejercicio? 486 00:22:13,589 --> 00:22:15,730 indicar si la fecha es correcta 487 00:22:15,730 --> 00:22:17,210 correcta significa que 488 00:22:17,210 --> 00:22:18,309 sí está en el calendario 489 00:22:18,309 --> 00:22:21,789 el 93 de Pepito 490 00:22:21,789 --> 00:22:23,069 Pérez, pues no es correcta 491 00:22:23,069 --> 00:22:25,349 los años nos valen todos 492 00:22:25,349 --> 00:22:28,470 Asumimos que los años 493 00:22:28,470 --> 00:22:30,029 Cualquier año que meta, existe 494 00:22:30,029 --> 00:22:34,099 A ver, el único que no existiría 495 00:22:34,099 --> 00:22:36,480 Sería el menos 100 millones 496 00:22:36,480 --> 00:22:37,319 Antes de Cristo 497 00:22:37,319 --> 00:22:39,019 Porque la Tierra no había existido 498 00:22:39,019 --> 00:22:41,839 Pero hasta el menos 45 millones antes de Cristo 499 00:22:41,839 --> 00:22:42,619 ¿Eh? 500 00:22:44,619 --> 00:22:45,599 No, no son 501 00:22:45,599 --> 00:22:47,480 Ay, perdón 502 00:22:47,480 --> 00:22:49,200 45.000 millones, vale 503 00:22:49,200 --> 00:22:52,119 Eso sí, sí, son 45.000 millones 504 00:22:52,119 --> 00:22:54,259 Vale, he dicho 45 millones 505 00:22:54,259 --> 00:22:55,819 Bueno, pues si ponemos el 506 00:22:55,819 --> 00:22:57,420 menos 100.000 millones 507 00:22:57,420 --> 00:23:00,019 ese no sería válido 508 00:23:00,019 --> 00:23:01,799 pero no vamos a poner 509 00:23:01,799 --> 00:23:03,839 más que nada porque no va a caber 510 00:23:03,839 --> 00:23:05,180 bueno, un alón yo creo que sí que cabe 511 00:23:05,180 --> 00:23:07,220 pero no lo vamos a poner 512 00:23:07,220 --> 00:23:09,960 entonces, con meses, una vez que analizamos 513 00:23:09,960 --> 00:23:11,700 el ejercicio y le preguntamos 514 00:23:11,700 --> 00:23:13,940 al tío y todo eso y lo entendemos, decimos 515 00:23:13,940 --> 00:23:15,900 del año no tengo que hacer ninguna 516 00:23:15,900 --> 00:23:17,880 validación, año me vale cualquiera 517 00:23:17,880 --> 00:23:19,839 estupendo, mete el año que te dé la gana 518 00:23:19,839 --> 00:23:22,160 a lo mejor nos dice, no, no, no, perdona 519 00:23:22,160 --> 00:23:23,079 no quiero negativos 520 00:23:23,079 --> 00:23:26,099 Solo estoy contando los años del 0 en adelante 521 00:23:26,099 --> 00:23:28,059 Bueno, pues entonces sí que haríamos una validación 522 00:23:28,059 --> 00:23:30,420 If año menor que 0 523 00:23:30,420 --> 00:23:31,960 No válido, vale 524 00:23:31,960 --> 00:23:33,579 Pero vamos a asumir que año nos vale cualquiera 525 00:23:33,579 --> 00:23:35,039 Porque esa validación es la más sencilla 526 00:23:35,039 --> 00:23:38,019 Vale, la complicada es la combinación de día y mes 527 00:23:38,019 --> 00:23:39,660 La complicada es esa 528 00:23:39,660 --> 00:23:41,920 Que el día sea válido dentro del mes 529 00:23:41,920 --> 00:23:43,880 ¿Por qué 530 00:23:43,880 --> 00:23:45,500 No es tan sencilla? 531 00:23:45,819 --> 00:23:47,099 Porque en función del mes 532 00:23:47,099 --> 00:23:48,619 Hay días que valen o no 533 00:23:48,619 --> 00:23:50,420 Si el mes es enero, 31 vale 534 00:23:50,420 --> 00:23:55,599 Claro 535 00:23:55,599 --> 00:23:58,700 Estamos aquí 536 00:23:58,700 --> 00:24:01,980 Pones inviciestos para no hacer ese 537 00:24:01,980 --> 00:24:04,200 Ejemplo, porque si es conviciesto 538 00:24:04,200 --> 00:24:06,240 Pues efectivamente tienes que hacer la condición 539 00:24:06,240 --> 00:24:07,980 De año viciesto, que ya la sabemos 540 00:24:07,980 --> 00:24:10,420 Claro, entonces si es febrero 541 00:24:10,420 --> 00:24:11,920 Y año viciesto, esto 542 00:24:11,920 --> 00:24:13,299 Y si no, lo otro 543 00:24:13,299 --> 00:24:15,940 Pero bueno, sería añadir un poquito más en la condición 544 00:24:15,940 --> 00:24:18,000 Entonces, aquí se trata de 545 00:24:18,000 --> 00:24:20,220 Tenemos que ver cómo plasmar 546 00:24:20,220 --> 00:24:23,400 la condición de validez y esa condición sería 547 00:24:23,400 --> 00:24:25,519 entre 0 y 31 548 00:24:25,519 --> 00:24:28,559 perdón, entre 1 y 31 549 00:24:28,559 --> 00:24:31,420 si es enero, marzo 550 00:24:31,420 --> 00:24:36,660 julio, agosto 551 00:24:36,660 --> 00:24:38,279 octubre y diciembre 552 00:24:38,279 --> 00:24:41,099 y entre 1 y 30 553 00:24:41,099 --> 00:24:44,160 si es el resto, menos febrero 554 00:24:44,160 --> 00:24:46,700 y entre 1 y 28 si es febrero 555 00:24:46,700 --> 00:24:49,200 ¿Vale? Esa es la condición 556 00:24:49,200 --> 00:24:50,799 Esa es la condición que tenemos que hacer 557 00:24:50,799 --> 00:24:52,799 Y ahora ya, esa condición 558 00:24:52,799 --> 00:24:54,740 ¿Cómo la expresamos? 559 00:24:54,859 --> 00:24:57,319 Pues cada uno habrá llegado a un concurso y lo ha puesto de otra manera 560 00:24:57,319 --> 00:24:59,619 Vamos, por ejemplo, a 561 00:24:59,619 --> 00:24:59,960 A poner 562 00:24:59,960 --> 00:25:04,640 Podríamos hacer 563 00:25:04,640 --> 00:25:10,900 Vamos a guardar, el resultado final es 564 00:25:10,900 --> 00:25:13,880 ¿Es válido o no válido? 565 00:25:13,880 --> 00:25:15,240 Pues vamos a hacerlo en un boolean 566 00:25:15,240 --> 00:25:17,460 ¿Vale? Un boolean 567 00:25:17,460 --> 00:25:18,779 Por ahora lo dejo sin valor 568 00:25:18,779 --> 00:25:20,940 vale, y ahora 569 00:25:20,940 --> 00:25:23,180 ¿cómo podemos organizar esto? pues mira 570 00:25:23,180 --> 00:25:25,559 vamos a usar el switch case ya que estamos 571 00:25:25,559 --> 00:25:26,640 aquí 572 00:25:26,640 --> 00:25:29,059 yo rápidamente identifico 573 00:25:29,059 --> 00:25:30,859 que en función del mes 574 00:25:30,859 --> 00:25:33,319 que esa ha sido la clave, en función del mes 575 00:25:33,319 --> 00:25:35,039 la validez es una u otra 576 00:25:35,039 --> 00:25:37,700 ¿verdad? en función del mes 577 00:25:37,700 --> 00:25:39,380 la validez es entre 1 y 31 578 00:25:39,380 --> 00:25:41,019 o entre 1 y 30 579 00:25:41,019 --> 00:25:42,160 o entre 1 y 28 580 00:25:42,160 --> 00:25:45,019 bueno, pues entonces en cuanto he identificado 581 00:25:45,019 --> 00:25:46,779 que en función del valor de una variable 582 00:25:46,779 --> 00:25:48,660 o pasa una cosa o pasa otra 583 00:25:48,660 --> 00:25:50,740 o pasa otra, ya tengo 584 00:25:50,740 --> 00:25:52,380 un switch case ahí 585 00:25:52,380 --> 00:25:54,880 llamándome, porque el switch case 586 00:25:54,880 --> 00:25:56,039 es una sentencia if 587 00:25:56,039 --> 00:25:58,359 es una sentencia de decisión 588 00:25:58,359 --> 00:26:00,740 en la cual lo que se hace en cada rama depende 589 00:26:00,740 --> 00:26:01,819 del valor de una variable 590 00:26:01,819 --> 00:26:04,180 pues justo 591 00:26:04,180 --> 00:26:06,660 aquí en función del valor de month 592 00:26:06,660 --> 00:26:08,339 en función del valor de esta variable 593 00:26:08,339 --> 00:26:09,660 boolean 594 00:26:09,660 --> 00:26:12,339 se evalúa de una manera o se evalúa de otra 595 00:26:12,339 --> 00:26:14,660 pues justo lo que he dicho en estas 596 00:26:14,660 --> 00:26:16,660 palabras que en función del valor de una variable 597 00:26:16,660 --> 00:26:17,880 o hago una cosa o hago otra 598 00:26:17,880 --> 00:26:19,920 es justo el switch case 599 00:26:19,920 --> 00:26:21,960 el switch case me dice 600 00:26:21,960 --> 00:26:23,359 ojo 601 00:26:23,359 --> 00:26:26,380 en función de 602 00:26:26,380 --> 00:26:31,119 lo que valga la variable month 603 00:26:31,119 --> 00:26:34,500 en función de lo que valga 604 00:26:34,500 --> 00:26:35,079 esta variable 605 00:26:35,079 --> 00:26:40,049 pues válido, se evalúa 606 00:26:40,049 --> 00:26:42,029 de una manera o se evalúa de otra 607 00:26:42,029 --> 00:26:44,529 vale, ¿cuáles van a ser las opciones? 608 00:26:45,430 --> 00:26:45,690 entonces 609 00:26:45,690 --> 00:26:47,490 podríamos 610 00:26:47,490 --> 00:26:50,390 ponerlas aquí, en el caso de que 611 00:26:50,390 --> 00:26:51,650 sea enero 612 00:26:51,650 --> 00:26:55,259 Vale, pues en el caso 613 00:26:55,259 --> 00:26:57,099 De que month sea enero 614 00:26:57,099 --> 00:26:59,359 Válido va a ser igual a qué 615 00:26:59,359 --> 00:27:01,500 A day 616 00:27:01,500 --> 00:27:03,799 Mayor o igual que 1 617 00:27:03,799 --> 00:27:05,200 Y 618 00:27:05,200 --> 00:27:08,390 Perdón 619 00:27:08,390 --> 00:27:14,069 Y day menor o igual 620 00:27:14,069 --> 00:27:15,950 Que 31 621 00:27:15,950 --> 00:27:17,210 ¿Vale? 622 00:27:18,250 --> 00:27:20,069 ¿No puedes añadir ahí enero en todos los meses? 623 00:27:20,170 --> 00:27:21,789 Sí, pero vamos a irlo 624 00:27:21,789 --> 00:27:23,569 Haciendo, entonces 1 pues 625 00:27:23,569 --> 00:27:27,710 Bueno, aquí no se le olvida el break 626 00:27:27,710 --> 00:27:28,910 ¿Vale? 627 00:27:29,170 --> 00:27:30,650 Entonces esta sería la switch case 628 00:27:30,650 --> 00:27:32,529 Original de toda la vida 629 00:27:32,529 --> 00:27:34,849 Yo tengo que distinguir los casos uno por uno 630 00:27:34,849 --> 00:27:35,769 ¿Vale? Entonces 631 00:27:35,769 --> 00:27:46,599 Voy a poner los 632 00:27:46,599 --> 00:27:49,519 Los tres primeros 633 00:27:49,519 --> 00:27:50,619 Mayor o igual que uno 634 00:27:50,619 --> 00:27:52,160 Menor o igual que veintiocho 635 00:27:52,160 --> 00:27:56,779 Sí 636 00:27:56,779 --> 00:27:58,720 Sí, a ver 637 00:27:58,720 --> 00:27:59,920 Pero se lo podría decir al tío 638 00:27:59,920 --> 00:28:01,819 Pero bueno, vamos a hacer una cosa 639 00:28:01,819 --> 00:28:05,420 Sí, usando a ver un método 640 00:28:05,420 --> 00:28:07,180 de string, pero como os dije que solo 641 00:28:07,180 --> 00:28:08,640 memorizarais los tres, charad 642 00:28:08,640 --> 00:28:11,380 pero venga, ala, como pedís tanto 643 00:28:11,380 --> 00:28:12,880 pues ahora os vais a cagar 644 00:28:12,880 --> 00:28:14,000 venga, vamos a 645 00:28:14,000 --> 00:28:19,079 Ya, pero 646 00:28:19,079 --> 00:28:20,519 es que hay que ir progresivamente 647 00:28:20,519 --> 00:28:22,700 entonces nosotros ahora de la clase string 648 00:28:22,700 --> 00:28:24,980 como todavía no tenemos muchos de objetos 649 00:28:24,980 --> 00:28:27,099 pues no tiene sentido que nos metamos en los métodos 650 00:28:27,099 --> 00:28:28,980 entonces, de la clase string usamos 651 00:28:28,980 --> 00:28:30,839 los tres métodos y luego solo incorporamos 652 00:28:30,839 --> 00:28:32,019 objetos, ¿vale? 653 00:28:32,940 --> 00:28:33,500 Entonces, 654 00:28:33,799 --> 00:28:36,319 uno podría seguir así hasta 655 00:28:36,319 --> 00:28:39,160 abril, 656 00:28:39,339 --> 00:28:41,460 mayo, 657 00:28:42,579 --> 00:28:43,279 junio, julio, 658 00:28:43,359 --> 00:28:44,160 etcétera, ¿verdad? 659 00:28:44,559 --> 00:28:46,859 Entonces en cada uno lo que toque, menor o igual que 28, 660 00:28:46,980 --> 00:28:48,279 en marzo menor o igual que 31, 661 00:28:48,980 --> 00:28:50,819 en abril menor o igual que 30, 662 00:28:51,140 --> 00:28:52,220 ¿verdad? Y así con todos. 663 00:28:53,240 --> 00:28:53,519 Vale. 664 00:28:54,339 --> 00:28:56,420 Y así ha sido el 665 00:28:56,420 --> 00:28:58,759 switch case de toda la vida. 666 00:28:58,759 --> 00:29:00,420 Y vamos distinguiendo una por una. 667 00:29:00,839 --> 00:29:16,980 ¿Vale? Pero a partir de la versión no sé qué, 9, 10, 11, no sé cuál, se permite sintácticamente si varias posibilidades para esta variable, si varias conducen al mismo código, vamos a ponerlas todas juntitas separadas por com. 668 00:29:17,579 --> 00:29:29,420 ¿Vale? Pero os vais a encontrar en muchos casos que aunque sea la misma, no lo hacen así, porque a lo mejor la versión de la máquina virtual es anterior a esa modificación, entonces no lo puede ejecutar. 669 00:29:29,420 --> 00:29:32,500 Pero bueno, en nuestro caso sí 670 00:29:32,500 --> 00:29:35,140 Entonces, se va a quedar más corto el código 671 00:29:35,140 --> 00:29:38,599 Si unimos enero, marzo 672 00:29:38,599 --> 00:29:44,230 Enero, marzo, mayo 673 00:29:44,230 --> 00:29:50,519 Julio, agosto 674 00:29:50,519 --> 00:29:59,390 Julio, agosto 675 00:29:59,390 --> 00:30:01,769 A ver, voy a poner aquí 676 00:30:01,769 --> 00:30:04,289 Partiéndolo por la mitad, que queda muy feo 677 00:30:04,289 --> 00:30:06,049 Pero para que se vea 678 00:30:06,049 --> 00:30:08,589 Julio, agosto, octubre 679 00:30:08,589 --> 00:30:12,240 Y diciembre 680 00:30:12,240 --> 00:30:15,789 Vale, pues en 681 00:30:15,789 --> 00:30:18,509 Cualquiera de esos casos 682 00:30:18,509 --> 00:30:20,549 Vale 683 00:30:20,549 --> 00:30:23,569 Vale 684 00:30:23,569 --> 00:30:25,869 Sí, sí, sí 685 00:30:25,869 --> 00:30:28,109 Porque como tengo febrero contemplado abajo 686 00:30:28,109 --> 00:30:29,730 Pero bueno, en cualquiera de esos casos 687 00:30:29,730 --> 00:30:30,970 La validez es esta, vale 688 00:30:30,970 --> 00:30:32,930 Y aquí cuáles nos quedan 689 00:30:32,930 --> 00:30:34,049 Aquí nos quedan 690 00:30:34,049 --> 00:30:36,049 Febrero 691 00:30:36,049 --> 00:30:38,769 Bueno, febrero se queda solito 692 00:30:38,769 --> 00:30:41,809 Y ahora aquí ya nos quedan 693 00:30:41,809 --> 00:30:42,910 Esta 694 00:30:42,910 --> 00:30:47,460 Nos quedan 695 00:30:47,460 --> 00:30:48,559 Abril 696 00:30:48,559 --> 00:30:52,000 Junio 697 00:30:52,000 --> 00:30:53,920 Septiembre 698 00:30:53,920 --> 00:30:55,640 Y noviembre 699 00:30:55,640 --> 00:31:08,990 Y ya no tengo más casos que considerar 700 00:31:08,990 --> 00:31:10,930 Pero el switch case 701 00:31:10,930 --> 00:31:12,130 Acordaos que admite 702 00:31:12,130 --> 00:31:13,490 Un último 703 00:31:13,490 --> 00:31:15,829 Caso que es 704 00:31:15,829 --> 00:31:18,410 Si no es ninguno de los que están contemplado antes 705 00:31:18,410 --> 00:31:20,190 Sería como un else, si no es ninguno 706 00:31:20,190 --> 00:31:22,049 Entonces en el caso de que 707 00:31:22,049 --> 00:31:24,730 No sea ninguno de los que están contemplado 708 00:31:24,730 --> 00:31:26,569 antes, la fecha no va a ser 709 00:31:26,569 --> 00:31:28,609 válida segura, porque el mes lo han metido 710 00:31:28,609 --> 00:31:29,569 mal, ¿no? 711 00:31:30,309 --> 00:31:32,269 Entonces, si no es ninguna de las anteriores 712 00:31:32,269 --> 00:31:34,609 la fecha no va a ser 713 00:31:34,609 --> 00:31:36,589 válida segura. Entonces 714 00:31:36,589 --> 00:31:40,539 yo ya le he dado valor 715 00:31:40,539 --> 00:31:42,079 a válido en función del mes. 716 00:31:43,460 --> 00:31:44,640 Esta es una primera versión. 717 00:31:45,079 --> 00:31:46,160 Ahora podemos 718 00:31:46,160 --> 00:31:47,799 retocar algunas cosas. 719 00:31:48,799 --> 00:31:50,579 Vale, aquí se acaba el switch. 720 00:31:51,740 --> 00:31:52,539 Cuando ya uno 721 00:31:52,539 --> 00:31:54,400 empieza a anidar muchas cosas, pues siempre está bien 722 00:31:54,400 --> 00:31:56,299 que lo avise. Este ya es el fin del main. 723 00:31:56,619 --> 00:31:57,740 De mi programa. 724 00:31:58,400 --> 00:31:59,140 Entonces, ¿qué me falta? 725 00:31:59,960 --> 00:32:02,140 Me falta mostrar el resultado, ¿no? 726 00:32:02,960 --> 00:32:06,339 Entonces, aquí ya puedo poner directamente. 727 00:32:08,970 --> 00:32:11,170 Oye, ¿es válido o no es válido? 728 00:32:11,170 --> 00:32:16,250 Si es válido, pasa al system out, fecha válida. 729 00:32:22,240 --> 00:32:33,059 Y si no es válida, pues pásale al system out, fecha no válida. 730 00:32:33,140 --> 00:32:42,170 Y ya está, ya hacemos la primera prueba de esto 731 00:32:42,170 --> 00:32:45,190 Ah bueno, lo de la entrada que decíais 732 00:32:45,190 --> 00:32:48,630 Vale, vamos a hacer la interfaz de entrada un pelín más 733 00:32:48,630 --> 00:32:51,190 Entonces, le podríamos decir aquí 734 00:32:51,190 --> 00:32:53,130 Introduzcame es todo en minúscula 735 00:32:53,130 --> 00:32:55,170 Vamos a dejarle que lo introduzca como sea 736 00:32:55,170 --> 00:32:58,690 Entonces, cuando lo leemos 737 00:32:58,690 --> 00:33:00,029 Esto es un string 738 00:33:00,029 --> 00:33:04,150 Y recordad que los objetos 739 00:33:04,150 --> 00:33:05,650 Como los strings 740 00:33:05,650 --> 00:33:08,269 pueden además hacer cosas a través de su operador 741 00:33:08,269 --> 00:33:09,970 punto, que son las cosas 742 00:33:09,970 --> 00:33:12,089 que nosotros no sabemos de memoria que pueden hacer 743 00:33:12,089 --> 00:33:14,269 sacar su longitud 744 00:33:14,269 --> 00:33:15,890 con length, eso lo pueden hacer 745 00:33:15,890 --> 00:33:17,470 sacar su longitud y devolvermela 746 00:33:17,470 --> 00:33:20,230 que más otras cosas hemos visto que pueden hacer 747 00:33:20,230 --> 00:33:22,369 decirme que carácter 748 00:33:22,369 --> 00:33:24,269 tienen una posición, yo le doy 5 749 00:33:24,269 --> 00:33:25,549 y me devuelven el carácter 750 00:33:25,549 --> 00:33:28,470 y que otra cosa hemos dicho que pueden 751 00:33:28,470 --> 00:33:30,390 hacer, que no, compararse 752 00:33:30,390 --> 00:33:32,349 con otro string, para ver si 753 00:33:32,349 --> 00:33:34,509 su sucesión de caracteres es igual 754 00:33:34,509 --> 00:33:37,089 Vale, pero aparte de esas tres cosas 755 00:33:37,089 --> 00:33:38,210 Pueden hacer muchas más 756 00:33:38,210 --> 00:33:40,210 Por ejemplo, pueden 757 00:33:40,210 --> 00:33:42,730 Convertirse a minúsculas 758 00:33:42,730 --> 00:33:46,690 Se ha convertido a minúscula 759 00:33:46,690 --> 00:33:48,990 Entonces ya me da igual como me haya metido el enero 760 00:33:48,990 --> 00:33:49,950 O febrero, como me haya metido 761 00:33:49,950 --> 00:33:53,069 Porque todo este string 762 00:33:53,069 --> 00:33:55,250 Me lo va a convertir a minúscula 763 00:33:55,250 --> 00:33:57,309 Entonces yo ya sé que va a estar en minúscula 764 00:33:57,309 --> 00:33:58,549 Entonces ahora ya mi switch case 765 00:33:58,549 --> 00:34:00,549 Ya me despreocupo, lo pongo en minúscula y ya está 766 00:34:00,549 --> 00:34:03,049 Igual que tiene un to lower case 767 00:34:03,049 --> 00:34:04,829 Tendrá tu uppercase y más métodos 768 00:34:04,829 --> 00:34:06,630 Para hacer más cosas que ahora mismo 769 00:34:06,630 --> 00:34:08,070 No nos interesan todavía 770 00:34:08,070 --> 00:34:09,530 ¿Vale? 771 00:34:11,349 --> 00:34:12,650 Vale, pues hacemos 772 00:34:12,650 --> 00:34:13,650 La primera prueba 773 00:34:13,650 --> 00:34:17,010 Introduzca día, pues estoy en el día 3 774 00:34:17,010 --> 00:34:18,690 ¿De qué mes? 775 00:34:18,769 --> 00:34:19,730 De febrero 776 00:34:19,730 --> 00:34:21,670 ¿De qué año? Del 2000 777 00:34:21,670 --> 00:34:24,670 Ala, pues esta fecha es válida 778 00:34:24,670 --> 00:34:26,269 Y ponemos una no válida 779 00:34:26,269 --> 00:34:27,909 Pues en qué día estoy 780 00:34:27,909 --> 00:34:30,630 En el 30 de febrero 781 00:34:30,630 --> 00:34:32,530 Del 5000 782 00:34:32,530 --> 00:34:34,750 y esa no es válida 783 00:34:34,750 --> 00:34:36,610 claro, a ver, habría que hacer más pruebas 784 00:34:36,610 --> 00:34:38,769 y todo eso, pero bueno, a vista del código 785 00:34:38,769 --> 00:34:39,769 vemos que tiene sentido 786 00:34:39,769 --> 00:34:44,239 vale, y llegados a la fase en la que 787 00:34:44,239 --> 00:34:46,280 hemos concluido que esto, pues sí 788 00:34:46,280 --> 00:34:47,119 esto funciona 789 00:34:47,119 --> 00:34:49,599 pues hombre, ya podemos 790 00:34:49,599 --> 00:34:52,340 a lo mejor hacer algún pequeño 791 00:34:52,340 --> 00:34:54,059 cambio, que nos permita ir cogiendo 792 00:34:54,059 --> 00:34:55,400 cada vez más soltura o más 793 00:34:55,400 --> 00:34:58,099 aquí no estoy 794 00:34:58,099 --> 00:35:00,260 repitiendo todo el rato lo de day mayor o igual que 1 795 00:35:00,260 --> 00:35:03,960 es decir, que el día 796 00:35:03,960 --> 00:35:05,239 sea mayor o igual que 1 797 00:35:05,239 --> 00:35:07,460 es una condición para el mes 798 00:35:07,460 --> 00:35:08,239 sea el que sea 799 00:35:08,239 --> 00:35:10,659 la única condición que importa 800 00:35:10,659 --> 00:35:13,159 perdón, que es distinta 801 00:35:13,159 --> 00:35:14,099 en función del mes 802 00:35:14,099 --> 00:35:15,960 es el límite superior 803 00:35:15,960 --> 00:35:18,900 el límite inferior es igual para todos 804 00:35:18,900 --> 00:35:20,440 entonces 805 00:35:20,440 --> 00:35:22,940 voy a darle aquí a válido ya 806 00:35:22,940 --> 00:35:25,579 esa primera parte de la condición 807 00:35:25,579 --> 00:35:29,519 mayor o igual que 1 808 00:35:29,519 --> 00:35:31,159 válido 809 00:35:31,159 --> 00:35:32,860 esta condición 810 00:35:32,860 --> 00:35:35,380 Es parte de ella, ya es parte de ella 811 00:35:35,380 --> 00:35:37,260 Y luego, ¿vale? 812 00:35:38,420 --> 00:35:39,440 Y luego el resto 813 00:35:39,440 --> 00:35:42,059 La concateno con la que me falte 814 00:35:42,059 --> 00:35:48,349 Vale, primero 815 00:35:48,349 --> 00:35:50,329 Entended esto que he hecho aquí 816 00:35:50,329 --> 00:35:51,469 ¿Vale? 817 00:35:52,530 --> 00:35:54,570 Entonces, la primera parte de este boolean 818 00:35:54,570 --> 00:35:56,030 Es que el día sea mayor o igual que uno 819 00:35:56,030 --> 00:35:58,250 Si es mayor o igual que uno, esto ya va a ser falso 820 00:35:58,250 --> 00:36:00,289 Entonces ya 821 00:36:00,289 --> 00:36:02,650 El resto es que va a ser falso siempre 822 00:36:02,650 --> 00:36:04,369 Ya va a ser falso porque voy a estar haciendo 823 00:36:04,369 --> 00:36:05,570 And con falso todo el rato 824 00:36:05,570 --> 00:36:07,230 ¿Vale? 825 00:36:07,690 --> 00:36:16,449 De hecho, el siguiente arreglo que digamos es que si ya es falso desde aquí, ni te metas al switch, ni te metas, porque ya va a ser falso, pero ese arreglo lo hacemos después, ¿vale? 826 00:36:16,449 --> 00:36:33,250 Pero este primer cambio está claro, ¿no? Válido es el AND de dos cosas, la primera en todos los casos es esta, de I mayor o igual que 1, y ahora ya en función del mes, a ese mismo válido que ya le he dado un primer valor, lo concateno con lo que falte. 827 00:36:33,250 --> 00:36:36,289 Si es esto, con esto de aquí 828 00:36:36,289 --> 00:36:37,630 Si es febrero, con esta 829 00:36:37,630 --> 00:36:38,869 Y si es junio, con esta 830 00:36:38,869 --> 00:36:45,400 Y de hecho ya si 831 00:36:45,400 --> 00:36:49,320 Lo quisiéramos dejar 832 00:36:49,320 --> 00:36:51,800 Yo creo que esto 833 00:36:51,800 --> 00:36:54,599 Ay, no, de qué pena 834 00:36:54,599 --> 00:36:56,260 No deja 835 00:36:56,260 --> 00:36:58,360 Con 836 00:36:58,360 --> 00:37:01,059 Igual que es el más igual 837 00:37:01,059 --> 00:37:01,980 Menos igual 838 00:37:01,980 --> 00:37:09,340 Ah, pero con uno solo 839 00:37:09,340 --> 00:37:10,239 Sí, vale 840 00:37:10,239 --> 00:37:14,780 Vale, es que esto no se usa nunca 841 00:37:14,780 --> 00:37:16,099 Porque es que es tan complicado 842 00:37:16,099 --> 00:37:17,860 Lo convierte en tan ilegible 843 00:37:17,860 --> 00:37:20,780 Pero, o sea, que estaba ya 844 00:37:20,780 --> 00:37:23,119 Para que no se nos olviden 845 00:37:23,119 --> 00:37:24,099 Los operadores y todo 846 00:37:24,099 --> 00:37:27,360 Compactándolo del todo 847 00:37:27,360 --> 00:37:28,599 O sea, esta está clara, ¿no? 848 00:37:29,420 --> 00:37:30,139 Esta está clara 849 00:37:30,139 --> 00:37:33,440 A válido, la concateno con esto 850 00:37:33,440 --> 00:37:35,619 Y su nuevo valor se lo asigno a válido 851 00:37:35,619 --> 00:37:37,400 Eso es cuando hacíamos 852 00:37:37,400 --> 00:37:38,900 Cuando nosotros hacíamos 853 00:37:38,900 --> 00:37:42,300 n igual a n más 3 854 00:37:42,300 --> 00:37:45,239 esto sabíamos que lo podíamos 855 00:37:45,239 --> 00:37:47,159 compactar así 856 00:37:47,159 --> 00:37:48,239 n más igual 3 857 00:37:48,239 --> 00:37:51,400 concatenar la asignación con un operador 858 00:37:51,400 --> 00:37:53,059 lo hemos hecho muchas veces y significaba 859 00:37:53,059 --> 00:37:55,480 quita el igual, haces la operación 860 00:37:55,480 --> 00:37:57,579 y ahora concatenas con la variable 861 00:37:57,579 --> 00:37:59,420 que tienes a la izquierda del igual 862 00:37:59,420 --> 00:38:00,099 que es n 863 00:38:00,099 --> 00:38:03,000 pues yo he hecho esto mismo 864 00:38:03,000 --> 00:38:05,780 con este, estoy válido igual a válido 865 00:38:05,780 --> 00:38:06,519 and no sé qué 866 00:38:06,519 --> 00:38:09,300 Pues en realidad según esa regla 867 00:38:09,300 --> 00:38:11,780 Sería así 868 00:38:11,780 --> 00:38:13,800 ¿Vale? 869 00:38:14,059 --> 00:38:15,739 Pero solo te deja 870 00:38:15,739 --> 00:38:17,760 Si le ponemos un solo and 871 00:38:17,760 --> 00:38:19,039 ¿Vale? 872 00:38:19,519 --> 00:38:21,480 Lo que pasa es que esto es muy 873 00:38:21,480 --> 00:38:23,820 Es un poco feo a la vista 874 00:38:23,820 --> 00:38:24,880 Pero vamos 875 00:38:24,880 --> 00:38:31,039 Vamos a dejarlo así 876 00:38:31,039 --> 00:38:36,809 Válido and esto 877 00:38:36,809 --> 00:38:37,610 Igual a válido 878 00:38:37,610 --> 00:38:41,840 Y ya lo último que podríamos hacer 879 00:38:41,840 --> 00:38:44,400 Para compactar esto es lo que he dicho antes 880 00:38:44,400 --> 00:38:46,400 A ver, si ya aquí 881 00:38:46,400 --> 00:38:48,440 Válido es falso, esto no tengo 882 00:38:48,440 --> 00:38:50,300 Ni que hacerlo, entonces el switch es 883 00:38:50,300 --> 00:38:52,300 Una única sentencia en realidad, es una única 884 00:38:52,300 --> 00:38:54,179 Entonces lo tengo muy cómodo 885 00:38:54,179 --> 00:38:56,539 Me hago, si válido 886 00:38:56,539 --> 00:38:58,539 Es decir, si válido 887 00:38:58,539 --> 00:39:00,199 Pues hazme el switch dentro 888 00:39:00,199 --> 00:39:02,519 Entonces ahora ya tabulo esto 889 00:39:02,519 --> 00:39:04,679 Para que se vea claro que está ahí 890 00:39:04,679 --> 00:39:08,400 Como tabulo para que 891 00:39:08,400 --> 00:39:11,619 Alt F, no 892 00:39:11,619 --> 00:39:13,659 Control F, no 893 00:39:13,659 --> 00:39:29,900 Bueno, es por no tabularlo a mano 894 00:39:29,900 --> 00:39:31,179 ¿Vale? Pero los atajos 895 00:39:31,179 --> 00:39:33,940 No hace falta ni todavía que os vayáis liando con ellos 896 00:39:33,940 --> 00:39:37,739 ¿Vale? Pues todavía así más 897 00:39:37,739 --> 00:39:38,340 Eficiente 898 00:39:38,340 --> 00:39:40,460 Si es válido, hazme esta vez 899 00:39:40,460 --> 00:39:41,639 No he puesto llaves 900 00:39:41,639 --> 00:39:42,820 ¿Por qué no he puesto llaves? 901 00:39:43,659 --> 00:39:44,679 Es una única sentencia 902 00:39:44,679 --> 00:39:46,039 Esto no me lo ha tabulado 903 00:39:46,039 --> 00:39:51,909 Pues vamos a ponerlo ahí 904 00:39:51,909 --> 00:39:52,429 Vale 905 00:39:52,429 --> 00:40:09,309 Como es una única sentencia 906 00:40:09,309 --> 00:40:10,750 Repito, no hace falta ponerlas 907 00:40:10,750 --> 00:40:12,989 Podría poner una llave 908 00:40:12,989 --> 00:40:15,030 Que se abre aquí y otra llave que se abre aquí 909 00:40:15,030 --> 00:40:16,869 Pero no hace falta 910 00:40:16,869 --> 00:40:19,170 Esta ya sí que está fuera del if, obviamente 911 00:40:19,170 --> 00:40:20,889 Vale, entonces 912 00:40:20,889 --> 00:40:22,650 Me hago la primera condición de validez 913 00:40:22,650 --> 00:40:25,250 Que esta ya es falsa, es que ya no mira nada más 914 00:40:25,250 --> 00:40:27,309 Y me va a mostrar fecha no válida 915 00:40:27,309 --> 00:40:28,070 Que esta es true 916 00:40:28,070 --> 00:40:30,570 porque es mayor o igual que 1, ya me voy aquí 917 00:40:30,570 --> 00:40:32,329 y le añado lo que falte 918 00:40:32,329 --> 00:40:33,150 para cada mes 919 00:40:33,150 --> 00:40:38,539 y ya la última, que sí, que vamos a parar 920 00:40:38,539 --> 00:40:41,199 y ya la última 921 00:40:41,199 --> 00:40:43,059 modificación, aunque no la diga el enunciado 922 00:40:43,059 --> 00:40:44,519 sería 923 00:40:44,519 --> 00:40:46,840 además ten en cuenta 924 00:40:46,840 --> 00:40:47,559 si es BC Stone 925 00:40:47,559 --> 00:40:50,559 la dejamos para que 926 00:40:50,559 --> 00:40:51,539 la hagáis