1 00:00:01,199 --> 00:00:18,949 Vale, pues el procedimiento que yo os había propuesto, se nos ocurre, vamos a pasar la cifra decimal dos posiciones a la derecha, porque así, haciendo un casting, quitamos todo esto que es lo que nos sobra, eso lo queremos quitar, porque eso nos sobra. 2 00:00:20,210 --> 00:00:32,710 Entonces, sabemos quitar una parte decimal con el casting, pero claro, para eso tendría que estar la coma aquí, pero no pasa nada porque, ¿cómo podemos avanzar la coma dos posiciones a la derecha? Haciendo qué operación. 3 00:00:33,090 --> 00:00:35,670 Multiplicando por 100, ¿verdad? 4 00:00:36,390 --> 00:00:38,609 Pues entonces, vamos a hacerlo paso por paso. 5 00:00:39,390 --> 00:00:48,689 Yo tengo mi result1 igual a result1 multiplicado por 100. 6 00:00:49,310 --> 00:00:49,950 Vale. 7 00:00:50,409 --> 00:00:55,130 Con esto ya lo tengo con dos posiciones avanzado aquí. 8 00:00:57,429 --> 00:00:58,070 Vale. 9 00:00:58,310 --> 00:01:01,649 Ahora vamos a hacer un casting para quitar esta parte. 10 00:01:02,009 --> 00:01:02,869 Un casting entero. 11 00:01:02,869 --> 00:01:08,349 Con el pequeño problema de que nos va a quedar el entero 2.232 12 00:01:08,349 --> 00:01:11,810 Pero bueno, ahora ya seguimos trabajando a partir de ahí 13 00:01:11,810 --> 00:01:15,950 Venga, pues ponemos aquí otro numerito 14 00:01:15,950 --> 00:01:18,989 Para hacerlo por partes, un numerito entero 15 00:01:18,989 --> 00:01:26,670 Que va a ser el casting entero de result1 16 00:01:26,670 --> 00:01:28,310 ¿Vale? 17 00:01:28,310 --> 00:01:34,730 entonces 18 00:01:34,730 --> 00:01:37,790 este ya va a ser 19 00:01:37,790 --> 00:01:39,790 el número 20 00:01:39,790 --> 00:01:40,769 original bueno 21 00:01:40,769 --> 00:01:43,709 pero sin toda esta 22 00:01:43,709 --> 00:01:44,629 morralla de aquí 23 00:01:44,629 --> 00:01:46,609 pero con la coma 24 00:01:46,609 --> 00:01:49,230 pero en plan entero 25 00:01:49,230 --> 00:01:50,950 o sea, ahí no me vale en entero 26 00:01:50,950 --> 00:01:53,689 yo ahora quiero dividirlo otra vez 27 00:01:53,689 --> 00:01:55,709 entre 100 para que la coma 28 00:01:55,709 --> 00:01:57,590 vaya a la derecha, esa sería la idea 29 00:01:57,590 --> 00:02:01,379 pero claro, yo no puedo hacer esto 30 00:02:01,379 --> 00:02:07,280 Vamos a hacerlo en otra variable 31 00:02:07,280 --> 00:02:08,879 Int num2 32 00:02:08,879 --> 00:02:11,340 Igual a num1 33 00:02:11,340 --> 00:02:12,319 Entre 100 34 00:02:12,319 --> 00:02:23,560 ¿Qué me está diciendo aquí? 35 00:02:26,500 --> 00:02:27,520 Ah, es que es num, perdón 36 00:02:27,520 --> 00:02:28,379 Vale 37 00:02:28,379 --> 00:02:32,490 Es num 38 00:02:32,490 --> 00:02:35,009 Entre 100, ¿y qué me dice aquí? 39 00:02:36,129 --> 00:02:36,949 Ah, que num2 40 00:02:36,949 --> 00:02:38,009 Ya existe, vale, vale 41 00:02:38,009 --> 00:02:40,789 Entonces, result1, los voy a ir 42 00:02:40,789 --> 00:02:41,729 Cambiando de nombre 43 00:02:41,729 --> 00:02:43,469 Result2 44 00:02:43,469 --> 00:02:48,569 result 2 45 00:02:48,569 --> 00:02:51,650 y este result 3 46 00:02:51,650 --> 00:02:54,250 entonces esto 47 00:02:54,250 --> 00:02:55,930 no me soluciona la vida 48 00:02:55,930 --> 00:02:58,629 porque haciendo esto, ¿qué habré conseguido? 49 00:02:59,509 --> 00:03:00,930 vale, con la primera operación 50 00:03:00,930 --> 00:03:02,189 multiplicado por 100 51 00:03:02,189 --> 00:03:04,689 me llevo la coma hasta aquí, muy bien 52 00:03:04,689 --> 00:03:11,050 con la segunda 53 00:03:11,050 --> 00:03:12,090 que es el casting 54 00:03:12,090 --> 00:03:14,530 con esta de aquí que es el casting 55 00:03:14,530 --> 00:03:17,150 vale, con esta de aquí 56 00:03:17,150 --> 00:03:19,490 quito esta parte y me quedo con 57 00:03:19,490 --> 00:03:21,349 dos mil doscientos treinta y dos 58 00:03:21,349 --> 00:03:23,870 pero como entero, guardado como entero 59 00:03:23,870 --> 00:03:25,610 entonces si yo ahora lo divido 60 00:03:25,610 --> 00:03:27,590 entre cien, es un entero 61 00:03:27,590 --> 00:03:29,550 entre un entero, esto no va a ser 62 00:03:29,550 --> 00:03:31,370 el efecto mover la coma a la izquierda 63 00:03:31,370 --> 00:03:33,169 porque estoy trabajando con enteros 64 00:03:33,169 --> 00:03:35,250 luego va a ser la división entera 65 00:03:35,250 --> 00:03:37,689 y la división entera es el cociente 66 00:03:37,689 --> 00:03:39,009 de dividir 67 00:03:39,009 --> 00:03:41,110 dos mil doscientos treinta y dos entre cien 68 00:03:41,110 --> 00:03:42,969 ¿cuál es el cociente? veintidós 69 00:03:42,969 --> 00:03:44,689 no quiero eso 70 00:03:44,689 --> 00:03:47,349 no quiero el cociente 71 00:03:47,349 --> 00:03:49,750 no quiero el cociente, quiero la división entera 72 00:03:49,750 --> 00:03:50,490 con decimales 73 00:03:50,490 --> 00:03:52,729 para que no me dé 22 74 00:03:52,729 --> 00:03:55,569 que es el cociente entre 2232 75 00:03:55,569 --> 00:03:56,389 entre 100 76 00:03:56,389 --> 00:03:58,729 sino que me haga la división decimal 77 00:03:58,729 --> 00:04:00,490 la que realmente mueve las comas 78 00:04:00,490 --> 00:04:03,569 vale, pues para que este operador 79 00:04:03,569 --> 00:04:04,050 de aquí 80 00:04:04,050 --> 00:04:07,409 ya no sea el operador cociente 81 00:04:07,409 --> 00:04:09,430 sino que sea la división decimal 82 00:04:09,430 --> 00:04:11,990 y por tanto lo que haga realmente 83 00:04:11,990 --> 00:04:13,889 sea tratar este como decimal 84 00:04:13,889 --> 00:04:14,750 mover la coma 85 00:04:14,750 --> 00:04:17,449 para que este deje de comportarse como cociente 86 00:04:17,449 --> 00:04:19,889 y se comporte como división decimal 87 00:04:19,889 --> 00:04:22,350 ¿qué cambio podría hacer yo en esta expresión? 88 00:04:28,759 --> 00:04:31,079 no, no, no, no, entonces estaría haciendo el resto 89 00:04:31,079 --> 00:04:32,680 no, lo que yo quiero es que esto 90 00:04:32,680 --> 00:04:33,500 que es el cociente 91 00:04:33,500 --> 00:04:37,379 no funcione como cociente sino como división decimal 92 00:04:37,379 --> 00:04:44,699 pero ahora mi pregunta es 93 00:04:44,699 --> 00:04:45,399 ¿vale? 94 00:04:45,399 --> 00:04:49,019 es, está claro que con esto 95 00:04:49,019 --> 00:04:51,199 yo me he quitado toda la parte decimal 96 00:04:51,199 --> 00:04:52,759 esta de aquí 97 00:04:52,759 --> 00:05:01,699 me he quitado la parte decimal de aquí a la derecha 98 00:05:01,699 --> 00:05:04,160 al hacer el casting 99 00:05:04,160 --> 00:05:06,300 pero claro, al hacer el casting en este punto 100 00:05:06,300 --> 00:05:08,319 me he quedado con un número entero 101 00:05:08,319 --> 00:05:10,480 que es 2232, vale 102 00:05:10,480 --> 00:05:12,920 y ahora querría este número 103 00:05:12,920 --> 00:05:15,339 hacerle una división entre 100 104 00:05:15,339 --> 00:05:17,899 que ya sabemos que implica que la coma se va a la izquierda 105 00:05:17,899 --> 00:05:20,399 pero claro, eso cuando la división es decimal 106 00:05:20,399 --> 00:05:22,579 Entonces yo digo, vale, pues voy a hacer 107 00:05:22,579 --> 00:05:23,439 Result 2 108 00:05:23,439 --> 00:05:26,680 Que es el 22.232 109 00:05:26,680 --> 00:05:28,220 Sin la comita esta 110 00:05:28,220 --> 00:05:28,959 Sin esto 111 00:05:28,959 --> 00:05:31,879 22.200 112 00:05:31,879 --> 00:05:33,600 O sea, 2.232 113 00:05:33,600 --> 00:05:36,360 Entre 100, que es lo que estoy haciendo aquí 114 00:05:36,360 --> 00:05:36,480 ¿No? 115 00:05:36,980 --> 00:05:40,040 2.232 entre 100 116 00:05:40,040 --> 00:05:42,279 Vale, pero esto ya sabemos 117 00:05:42,279 --> 00:05:43,180 Cómo funciona en Java 118 00:05:43,180 --> 00:05:44,860 Número entero 119 00:05:44,860 --> 00:05:47,980 Porque Result 2 es entero porque he tenido que hacer el casting 120 00:05:47,980 --> 00:05:48,939 Y no me ha quedado más remedio 121 00:05:48,939 --> 00:05:50,720 he tenido que hacer el casting para quitar esto 122 00:05:50,720 --> 00:05:53,339 exacto, número entero 123 00:05:53,339 --> 00:05:55,220 entre número entero 124 00:05:55,220 --> 00:05:57,680 entonces yo soy cociente 125 00:05:57,680 --> 00:05:59,379 si eres cociente 126 00:05:59,379 --> 00:06:01,399 el cociente de dividir 127 00:06:01,399 --> 00:06:03,319 2.232 entre 100 es 128 00:06:03,319 --> 00:06:04,959 22 y resto 32 129 00:06:04,959 --> 00:06:07,459 pues no me vale, yo no quiero 130 00:06:07,459 --> 00:06:09,620 que esto sea el cociente, quiero que sea la división 131 00:06:09,620 --> 00:06:10,379 con decimales 132 00:06:10,379 --> 00:06:13,879 ¿cómo podemos hacer para convertir esto en división con decimales? 133 00:06:15,079 --> 00:06:15,540 con que 134 00:06:15,540 --> 00:06:17,139 uno de los dos operandos 135 00:06:17,139 --> 00:06:23,779 el que sea, con que uno de los dos sea decimal, automáticamente el operador se convierte 136 00:06:23,779 --> 00:06:30,379 a división decimal, con que uno de los dos lo sea. Esa es la regla que conocemos. Pues 137 00:06:30,379 --> 00:06:45,300 voy a convertir a 100 en decimal. Convertimos a 100 en decimal y ya está. Pero claro, ahora 138 00:06:45,300 --> 00:06:51,779 esto es una división decimal. Este result promociona decimal y hace división decimal 139 00:06:51,779 --> 00:06:58,399 con el 100. Lo tengo que guardar en decimal, lógicamente, que es lo que yo pretendo. Y 140 00:06:58,399 --> 00:07:08,879 ahora ya este es mi result 3, que puede que ya lo hayamos hecho bien. Vale, pues ejecutamos 141 00:07:08,879 --> 00:07:18,990 Ejecutamos esto, introduzca número decimal, 34, patata. 142 00:07:20,230 --> 00:07:23,449 Introduzca otro, 23, no sé cuántos. 143 00:07:24,029 --> 00:07:26,449 Introduzca otro, 12, no sé qué. 144 00:07:27,569 --> 00:07:30,149 El promedio es 23,73. 145 00:07:30,689 --> 00:07:38,149 El promedio real habría sido 23,73, pero al haberlo multiplicado por 100, 146 00:07:38,149 --> 00:07:45,889 Primero hemos hecho el 2373, le hemos quitado la parte decimal y luego lo hemos vuelto a dividir, ¿vale? 147 00:07:46,850 --> 00:07:55,810 Entonces, toda esta serie de pequeños procedimientos, pues son el concepto de algoritmo, una secuencia de pasos para conseguir algo. 148 00:07:56,750 --> 00:08:05,410 Entonces, hemos encontrado una secuencia de pasos para conseguir que un double con una parte decimal muy grande se convierta en un double con una parte decimal de 2. 149 00:08:05,410 --> 00:08:07,769 Hemos seguido un algoritmo de tres pasos. 150 00:08:08,689 --> 00:08:11,930 Multiplicar por 100, hacer un casting y dividir entre 100. 151 00:08:12,329 --> 00:08:15,790 Hemos hecho ese algoritmo que hemos tenido que pensar y diseñar. 152 00:08:16,490 --> 00:08:20,329 Y eso es la programación, pues pensar yo en algoritmos, secuencias de pasos. 153 00:08:21,589 --> 00:08:25,310 Y una vez que tengo las secuencias de pasos pensadas, pues ya puedo programar. 154 00:08:26,550 --> 00:08:31,129 ¿Vale? Hemos hecho este pequeño algoritmo para que se quede con dos cifras decimales. 155 00:08:31,129 --> 00:08:36,159 Vale 156 00:08:36,159 --> 00:08:38,779 ¿Alguna duda? 157 00:08:42,340 --> 00:08:49,730 Pues nada 158 00:08:49,730 --> 00:08:50,909 Estos dos de aquí 159 00:08:50,909 --> 00:08:52,070 Vamos a hacerlos rápidamente 160 00:08:52,070 --> 00:08:54,750 Por si alguien tiene alguna duda sobre variables booleanas 161 00:08:54,750 --> 00:08:56,669 Y condiciones 162 00:08:56,669 --> 00:09:00,230 Vale 163 00:09:00,230 --> 00:09:02,049 Eh... 164 00:09:02,049 --> 00:09:03,370 Tres, venga 165 00:09:03,370 --> 00:09:22,279 Ala 166 00:09:22,279 --> 00:09:28,519 Programa que lea una variable booleana 167 00:09:28,519 --> 00:09:30,559 Para representar 168 00:09:30,559 --> 00:09:33,039 Si un estudiante ha aprobado un examen 169 00:09:33,039 --> 00:09:35,019 true se aprobó, false si no 170 00:09:35,019 --> 00:09:36,840 aquí lo que pasa 171 00:09:36,840 --> 00:09:39,340 es que claro, yo me había dado cuenta con este 172 00:09:39,340 --> 00:09:41,299 que leer por teclado solamente hemos visto 173 00:09:41,299 --> 00:09:42,779 leer un número, next in 174 00:09:42,779 --> 00:09:45,120 y leer un número entero 175 00:09:45,120 --> 00:09:46,240 next in, leer un número decimal 176 00:09:46,240 --> 00:09:48,360 leer un true o un false 177 00:09:48,360 --> 00:09:51,220 pues en lugar de 178 00:09:51,220 --> 00:09:52,940 con read in, read double 179 00:09:52,940 --> 00:09:54,399 pues será con read boolean 180 00:09:54,399 --> 00:09:55,679 no sé si más o menos 181 00:09:55,679 --> 00:09:57,759 pues habéis 182 00:09:57,759 --> 00:10:05,480 Vamos, que es un poco tonto esto 183 00:10:05,480 --> 00:10:12,529 Pero bueno, es un poco tonto 184 00:10:12,529 --> 00:10:14,509 Pero vamos a hacerlo, tiene más interés el 4 185 00:10:14,509 --> 00:10:16,269 En el que tú ya construyes la condición 186 00:10:16,269 --> 00:10:18,909 En lugar de darle directamente el true 187 00:10:18,909 --> 00:10:19,830 Pero bueno 188 00:10:19,830 --> 00:10:22,049 Vamos a hacerlo 189 00:10:22,049 --> 00:10:22,629 A ver 190 00:10:22,629 --> 00:10:26,269 Como vamos a leer del teclado, escáner sí o sí 191 00:10:26,269 --> 00:10:28,350 Eso sí que no cambia 192 00:10:28,350 --> 00:10:30,509 Vamos a leer del teclado 193 00:10:30,509 --> 00:10:31,690 Pues esto, plantar 194 00:10:31,690 --> 00:10:34,169 al principio de todo 195 00:10:34,169 --> 00:10:36,950 y así no ensucia el resto del código 196 00:10:36,950 --> 00:10:39,350 y ahora 197 00:10:39,350 --> 00:10:41,029 lo que vamos a leer 198 00:10:41,029 --> 00:10:42,970 no es un int ni un double, es un boolean 199 00:10:42,970 --> 00:10:45,570 con lo cual 200 00:10:45,570 --> 00:10:47,210 pero esto es rarísimo 201 00:10:47,210 --> 00:10:48,129 lo de leer un boolean 202 00:10:48,129 --> 00:10:51,210 con lo cual 203 00:10:51,210 --> 00:10:53,289 lo vamos a llamar 204 00:10:53,289 --> 00:10:54,289 el boolean aprobado 205 00:10:54,289 --> 00:10:56,389 los nombres de los boolean 206 00:10:56,389 --> 00:10:58,190 que se correspondan con lo que expresan 207 00:10:58,190 --> 00:10:59,690 aprobado true, aprobado false 208 00:10:59,690 --> 00:11:11,570 Y tendrá que haber, igual que hay un next int para leer un entero, un next double para leer un decimal, seguramente haya un next boolean o algo parecido para leer un boolean. 209 00:11:17,700 --> 00:11:21,519 Pues tiene toda la pinta de que lo hay porque lo he escrito y no me da error. 210 00:11:22,200 --> 00:11:24,860 Tiene toda la pinta de que lo hay porque lo he escrito y no me da error. 211 00:11:27,039 --> 00:11:33,820 Deduciéndolo por contexto de si next int es para leer un int, next double es para leer un double, porque next boolean es para leer un boolean. 212 00:11:33,820 --> 00:11:35,539 vale, entonces 213 00:11:35,539 --> 00:11:38,179 y ahora le tenemos que decir aquí 214 00:11:38,179 --> 00:11:39,440 introduzca 215 00:11:39,440 --> 00:11:40,879 true o false 216 00:11:40,879 --> 00:11:47,070 en función de si has aprobado o no 217 00:11:47,070 --> 00:11:51,139 vale, para 218 00:11:51,139 --> 00:11:53,419 que se vea 219 00:11:53,419 --> 00:11:55,659 como yo tengo el texto muy grande, voy a poner 220 00:11:55,659 --> 00:11:57,580 voy a dividir el string en dos 221 00:11:57,580 --> 00:11:59,559 concatenados para poder ponerlos en líneas 222 00:11:59,559 --> 00:12:00,159 separadas 223 00:12:00,159 --> 00:12:02,000 true o false 224 00:12:02,000 --> 00:12:07,399 porque todavía no conocemos los multilíneas 225 00:12:07,399 --> 00:12:09,080 en 226 00:12:09,080 --> 00:12:21,419 En función de si has aprobado o no 227 00:12:21,419 --> 00:12:23,779 Vale 228 00:12:23,779 --> 00:12:29,059 Y ahora me decía simplemente que mostrara 229 00:12:29,059 --> 00:12:34,500 El estudiante aprobado seguido de true o false 230 00:12:34,500 --> 00:12:36,860 Que será seguido de la variable que yo he introducido 231 00:12:36,860 --> 00:12:44,820 Aprobado 232 00:12:44,820 --> 00:12:47,779 Seguido de esto 233 00:12:47,779 --> 00:12:51,750 vale, pues este programa 234 00:12:51,750 --> 00:12:53,809 nos vale única y exclusivamente 235 00:12:53,809 --> 00:12:55,370 bueno, para 236 00:12:55,370 --> 00:12:57,710 ver que yo puedo introducir 237 00:12:57,710 --> 00:12:59,909 directamente true o false 238 00:12:59,909 --> 00:13:01,649 por el teclado 239 00:13:01,649 --> 00:13:02,710 vale 240 00:13:02,710 --> 00:13:04,509 y ya está 241 00:13:04,509 --> 00:13:07,629 y no tiene ningún interés 242 00:13:07,629 --> 00:13:09,769 vamos a probarlo 243 00:13:09,769 --> 00:13:13,220 a ver, ejecutar 244 00:13:13,220 --> 00:13:15,220 introduzca 245 00:13:16,080 --> 00:13:20,120 oh ya está 246 00:13:20,120 --> 00:13:21,940 le introduzco true porque es un posible 247 00:13:21,940 --> 00:13:23,440 valor de boolean y muy bien 248 00:13:23,440 --> 00:13:25,860 le introduzco false 249 00:13:25,860 --> 00:13:27,620 que es un posible valor de boolean 250 00:13:27,620 --> 00:13:29,840 y muy bien, si le introduzco 251 00:13:29,840 --> 00:13:31,960 cualquier otra cosa que no sea true o false 252 00:13:31,960 --> 00:13:33,779 me dice, me has introducido 253 00:13:33,779 --> 00:13:35,700 algo que no casa con el valor boolean 254 00:13:35,700 --> 00:13:37,899 vale 255 00:13:37,899 --> 00:13:39,679 nos podríamos plantear si es capaz 256 00:13:39,679 --> 00:13:42,000 como otros lenguajes de programación 257 00:13:42,000 --> 00:13:43,740 o otros contextos de programación 258 00:13:43,740 --> 00:13:45,940 a transformar 259 00:13:45,940 --> 00:13:48,159 el 0 a false y el 1 a true 260 00:13:48,159 --> 00:13:49,899 que es como una especie de 261 00:13:49,899 --> 00:13:51,759 convenio que se ha 262 00:13:51,759 --> 00:13:53,399 usado muchas veces en programación 263 00:13:53,399 --> 00:13:55,940 en lenguaje C, lenguaje Python 264 00:13:55,940 --> 00:13:57,379 en muchos lenguajes como que se 265 00:13:57,379 --> 00:13:59,899 ha usado un convenio de que el 0 266 00:13:59,899 --> 00:14:02,059 es equivalente al false 267 00:14:02,059 --> 00:14:03,759 y que un número diferente de 0 268 00:14:03,759 --> 00:14:04,559 es equivalente al true 269 00:14:04,559 --> 00:14:07,659 eso puede generar muchos efectos secundarios 270 00:14:07,659 --> 00:14:09,159 porque 271 00:14:09,159 --> 00:14:11,679 a lo mejor tú estás confundiendo sin querer 272 00:14:11,679 --> 00:14:14,000 números con booleanos, entonces Java no permite 273 00:14:14,000 --> 00:14:15,600 eso, pero vamos a probar 274 00:14:15,600 --> 00:14:16,759 esto es por probar, no lo sé 275 00:14:16,759 --> 00:14:19,679 si el next boolean 276 00:14:19,679 --> 00:14:21,779 si el next boolean por lo que sea 277 00:14:21,779 --> 00:14:23,379 este método tan raro 278 00:14:23,379 --> 00:14:25,840 si es capaz cuando tú le introduces 0 279 00:14:25,840 --> 00:14:27,600 asumir que estás metiendo false 280 00:14:27,600 --> 00:14:30,139 y cuando le introduces otra cosa que no es 0 asumir que estás metiendo true 281 00:14:30,139 --> 00:14:32,399 a lo mejor por compatibilidad 282 00:14:32,399 --> 00:14:34,580 con otros lenguajes está programado 283 00:14:34,580 --> 00:14:36,580 así esta función por dentro 284 00:14:36,580 --> 00:14:37,659 está programado así 285 00:14:37,659 --> 00:14:40,220 por curiosidad solo, vamos a probarlo 286 00:14:40,220 --> 00:14:42,039 bueno 287 00:14:42,039 --> 00:14:43,799 es java estricto 288 00:14:43,799 --> 00:14:45,840 le tienes que introducir o true 289 00:14:45,840 --> 00:14:46,779 o false 290 00:14:46,779 --> 00:14:48,539 ¿Vale? 291 00:14:49,600 --> 00:14:51,279 Y no tiene ningún interés más 292 00:14:51,279 --> 00:14:52,899 Este código 293 00:14:52,899 --> 00:14:56,519 Bueno, si tiene el interés 294 00:14:56,519 --> 00:14:56,940 De 295 00:14:56,940 --> 00:15:01,700 El stream multilínea 296 00:15:01,700 --> 00:15:02,679 ¿Vale? 297 00:15:03,980 --> 00:15:05,360 Que solamente afectos 298 00:15:05,360 --> 00:15:06,559 De que quede bonito el código 299 00:15:06,559 --> 00:15:07,019 Da igual 300 00:15:07,019 --> 00:15:08,399 Yo aquí, por ejemplo 301 00:15:08,399 --> 00:15:09,740 Como tengo la letra muy grande 302 00:15:09,740 --> 00:15:10,919 En todo esto 303 00:15:10,919 --> 00:15:13,539 Si yo ponía este stream todo seguido 304 00:15:13,539 --> 00:15:15,879 Pues el código queda muy feo 305 00:15:15,879 --> 00:15:16,600 Para quien lo abra 306 00:15:16,600 --> 00:15:19,419 porque tiene que irse a la derecha con el cursor 307 00:15:19,419 --> 00:15:20,940 para leer todo el mensaje 308 00:15:20,940 --> 00:15:22,919 el que está revisando el código 309 00:15:22,919 --> 00:15:25,340 pero luego cuando se ejecuta 310 00:15:25,340 --> 00:15:27,639 que más da, que esté toda la línea entera 311 00:15:27,639 --> 00:15:29,679 o no, pero para el que está mirando el código 312 00:15:29,679 --> 00:15:30,299 que he hecho yo 313 00:15:30,299 --> 00:15:33,360 pues si yo hubiera puesto estos dos seguido 314 00:15:33,360 --> 00:15:35,179 pipipipipi, le obligo a 315 00:15:35,179 --> 00:15:36,879 seguirlo, entonces 316 00:15:36,879 --> 00:15:39,620 pues para que quede el código más legible 317 00:15:39,620 --> 00:15:42,039 yo lo he concatenado 318 00:15:42,039 --> 00:15:45,740 mediante dos partes distintas 319 00:15:45,740 --> 00:15:48,500 He puesto dos partes y lo he concatenado con el más 320 00:15:48,500 --> 00:15:50,500 Y así me he bajado esto debajo 321 00:15:50,500 --> 00:15:51,220 Y se veía, ¿vale? 322 00:15:51,580 --> 00:15:54,559 Entonces a veces ocurre eso, que tenemos textos muy largos 323 00:15:54,559 --> 00:15:57,299 Para escribir dentro del código 324 00:15:57,299 --> 00:15:58,519 Un stream muy largote 325 00:15:58,519 --> 00:16:00,659 Y ese stream muy largote 326 00:16:00,659 --> 00:16:01,299 Queda feo 327 00:16:01,299 --> 00:16:04,480 Que a la máquina actual le da igual, la ejecución es de la misma 328 00:16:04,480 --> 00:16:05,840 Pero queda feo 329 00:16:05,840 --> 00:16:08,539 Entonces, o bien lo partimos así 330 00:16:08,539 --> 00:16:10,460 O bien hay una cosa 331 00:16:10,460 --> 00:16:12,440 Que está desde no sé qué versión de Java 332 00:16:12,440 --> 00:16:14,860 Porque cada versión de Java se inventa alguna chorradita 333 00:16:14,860 --> 00:16:17,120 pues para que parezca que los que 334 00:16:17,120 --> 00:16:19,259 actualizan Java pues hacen algo 335 00:16:19,259 --> 00:16:21,440 y una de esas chorraditas 336 00:16:21,440 --> 00:16:23,720 es el string multilínea, que juraría que es 337 00:16:23,720 --> 00:16:24,860 no estoy muy segura 338 00:16:24,860 --> 00:16:27,919 empiezas el string con 3 comas 339 00:16:27,919 --> 00:16:29,940 y entonces el ya interpreta 340 00:16:29,940 --> 00:16:31,059 que el string no acaba 341 00:16:31,059 --> 00:16:33,759 hasta que no has puesto otras 3 comas 342 00:16:33,759 --> 00:16:39,039 o algo así 343 00:16:39,039 --> 00:16:41,379 o tienes que poner algo antes o no sé qué 344 00:16:41,379 --> 00:16:47,419 a ver vamos a 345 00:16:47,419 --> 00:16:49,440 ver como era el string multilínea 346 00:16:49,440 --> 00:16:57,090 stream multilínea 347 00:16:57,090 --> 00:17:09,609 así como lo he puesto yo 348 00:17:09,609 --> 00:17:10,509 tres comillas 349 00:17:10,509 --> 00:17:12,650 y tres comillas 350 00:17:12,650 --> 00:17:17,049 debe ser que no lo admite como parámetro 351 00:17:17,049 --> 00:17:17,930 de una función 352 00:17:17,930 --> 00:17:21,390 pero es así, lo que empieces en tres comillas 353 00:17:21,390 --> 00:17:23,130 todo lo que viene después 354 00:17:23,130 --> 00:17:25,029 se supone que forma parte 355 00:17:25,029 --> 00:17:25,809 del mismo stream 356 00:17:25,809 --> 00:17:28,890 no tienes que andar ahí concatenando 357 00:17:28,890 --> 00:17:30,430 para saltarte a línea siguiente 358 00:17:30,430 --> 00:17:31,210 ni nada de eso 359 00:17:31,210 --> 00:17:32,809 Entonces 360 00:17:32,809 --> 00:17:34,490 Aquí 361 00:17:34,490 --> 00:17:38,230 A ver 362 00:17:38,230 --> 00:17:41,029 Ah, vale 363 00:17:41,029 --> 00:17:44,009 Porque debe ser que hay un salto de línea 364 00:17:44,009 --> 00:17:45,609 O sea, que tienes que poner un salto de línea 365 00:17:45,609 --> 00:17:47,589 Ahora sí que me lo ha cogido 366 00:17:47,589 --> 00:17:48,329 Vamos a ver 367 00:17:48,329 --> 00:17:56,440 Vale, debe ser que entre las primeras tres comillas 368 00:17:56,440 --> 00:17:57,380 Y la primera línea 369 00:17:57,380 --> 00:18:00,000 Hay que ponerle un salto de línea 370 00:18:00,000 --> 00:18:01,619 ¿Vale? 371 00:18:03,299 --> 00:18:03,740 Bueno 372 00:18:03,740 --> 00:18:05,839 Se podría recolocar para que quedara más bonito 373 00:18:05,839 --> 00:18:11,119 Y aquí esto también 374 00:18:11,119 --> 00:18:14,509 Vale 375 00:18:14,509 --> 00:18:15,750 Pues nada, esta chorradita 376 00:18:15,750 --> 00:18:18,130 Si tenemos que hacer un stream muy largo 377 00:18:18,130 --> 00:18:20,410 Pues lo podemos hacer 378 00:18:20,410 --> 00:18:21,769 En líneas separadas 379 00:18:21,769 --> 00:18:24,089 Y no empieza y no acaba 380 00:18:24,089 --> 00:18:26,150 Hasta estas tres comillas 381 00:18:26,150 --> 00:18:26,890 Vale 382 00:18:26,890 --> 00:18:31,539 Bueno, pues nada 383 00:18:31,539 --> 00:18:35,579 Sin dudas, ni problemas 384 00:18:35,579 --> 00:18:38,019 Pues siguiente 385 00:18:38,019 --> 00:18:38,700 Cosa 386 00:18:38,700 --> 00:18:44,039 Y ya descansamos un ratito antes de que sigáis 387 00:18:44,039 --> 00:18:45,440 haciendo más ejercicio vosotros 388 00:18:45,440 --> 00:18:47,940 cuatro 389 00:18:47,940 --> 00:18:50,039 leer por teclado un entero 390 00:18:50,039 --> 00:18:51,480 y luego mostrar 391 00:18:51,480 --> 00:18:53,980 un mensaje seguido de true o false 392 00:18:53,980 --> 00:18:55,720 en función de una condición 393 00:18:55,720 --> 00:18:57,460 pues sabemos hacer condiciones 394 00:18:57,460 --> 00:18:59,980 pues ya está, sabremos 395 00:18:59,980 --> 00:19:00,640 hacer esto 396 00:19:00,640 --> 00:19:11,119 ejercicio cuatro 397 00:19:11,119 --> 00:19:17,990 vale, nos ha dicho 398 00:19:17,990 --> 00:19:20,009 que hay que leer una edad por teclado 399 00:19:20,009 --> 00:19:21,769 pues una edad 400 00:19:21,769 --> 00:19:23,809 por teclado, ya sé que me va a obligar 401 00:19:23,809 --> 00:19:25,450 a usar el escáner, pues ala 402 00:19:25,450 --> 00:19:26,490 Ahí planto el escáner. 403 00:19:27,170 --> 00:19:27,369 Vale. 404 00:19:28,690 --> 00:19:30,509 Ahora, datos de entrada. 405 00:19:31,309 --> 00:19:33,769 Un valor que va a ser una edad, solo uno. 406 00:19:33,950 --> 00:19:35,009 Pues una única variable. 407 00:19:36,710 --> 00:19:38,890 Vamos a darle un nombrecito explicativo. 408 00:19:39,049 --> 00:19:40,730 Si va a guardar una edad, pues edad. 409 00:19:41,309 --> 00:19:41,529 Vale. 410 00:19:42,910 --> 00:19:45,789 Venga, este es el dato que vamos a leer por teclado. 411 00:19:45,789 --> 00:19:46,710 Pues ya está. 412 00:19:50,029 --> 00:19:50,789 Introduzca edad. 413 00:19:52,970 --> 00:19:54,470 ¿Cómo leemos del teclado? 414 00:19:54,470 --> 00:19:56,529 pues ya sabemos, ya todo esto lo hacemos 415 00:19:56,529 --> 00:19:58,309 de corrido porque ya lo sabemos de memoria 416 00:19:58,309 --> 00:19:59,390 no tenemos ni que pensar 417 00:19:59,390 --> 00:20:01,869 que leemos del teclado de esta manera 418 00:20:01,869 --> 00:20:06,529 ya está, esa parte la tenemos 419 00:20:06,529 --> 00:20:08,769 la parte de lectura 420 00:20:08,769 --> 00:20:10,490 de datos es que esa ya la podemos hacer 421 00:20:10,490 --> 00:20:12,529 de corrido, sabemos ya toda la parte de lectura 422 00:20:12,529 --> 00:20:14,630 de datos, el escáner 423 00:20:14,630 --> 00:20:15,849 y luego ya el método que sea 424 00:20:15,849 --> 00:20:18,769 la variable declarada, poner mensajitos 425 00:20:18,769 --> 00:20:20,349 para que quede feo, para que quede bonito 426 00:20:20,349 --> 00:20:22,529 todo eso ya lo sabemos de corrido 427 00:20:22,529 --> 00:20:23,930 y ahí no nos tenemos que detener más 428 00:20:23,930 --> 00:20:25,890 vale, ahora vamos a ver que me pide el programa 429 00:20:25,890 --> 00:20:29,829 pues el programa me pide 430 00:20:29,829 --> 00:20:31,869 mostrar un mensajito 431 00:20:31,869 --> 00:20:34,089 el estudiante 432 00:20:34,089 --> 00:20:36,130 aprobado, seguido de algo 433 00:20:36,130 --> 00:20:37,390 que sea true o false 434 00:20:37,390 --> 00:20:39,950 en función de, ya veremos que 435 00:20:39,950 --> 00:20:42,230 luego, mi programa 436 00:20:42,230 --> 00:20:44,150 hará cosas 437 00:20:44,150 --> 00:20:45,470 las que sean 438 00:20:45,470 --> 00:20:51,890 hará cosas las que sean 439 00:20:51,890 --> 00:20:53,150 pero yo sé 440 00:20:53,150 --> 00:20:55,509 que al punto al que tengo que llegar 441 00:20:55,509 --> 00:20:57,289 al punto al que tengo que llegar 442 00:20:57,289 --> 00:20:57,869 es este 443 00:20:57,869 --> 00:21:02,069 Eres mayor de edad, creo que era, si no da igual 444 00:21:02,069 --> 00:21:07,599 Eres mayor de edad 445 00:21:07,599 --> 00:21:14,619 Seguido de algo que sea true o false 446 00:21:14,619 --> 00:21:16,279 Algo que es true o false, ¿qué es? 447 00:21:16,720 --> 00:21:18,000 Una variable booleana 448 00:21:18,000 --> 00:21:25,539 Entonces, pues debería yo tener una variable booleana 449 00:21:25,539 --> 00:21:29,420 Que represente la condición de ser mayor edad 450 00:21:29,420 --> 00:21:32,200 porque es lo que tengo que mostrar aquí después 451 00:21:32,200 --> 00:21:35,079 tengo que mostrar algo que es true o false 452 00:21:35,079 --> 00:21:36,559 algo que es true o false 453 00:21:36,559 --> 00:21:37,660 es una variable booleana 454 00:21:37,660 --> 00:21:40,440 pues tendré que tener una variable booleana 455 00:21:40,440 --> 00:21:41,000 por aquí 456 00:21:41,000 --> 00:21:44,420 para mostrar su contenido 457 00:21:44,420 --> 00:21:46,059 boolean 458 00:21:46,059 --> 00:21:49,150 mayor edad 459 00:21:49,150 --> 00:21:51,490 vale 460 00:21:51,490 --> 00:21:54,069 entonces esa variable 461 00:21:54,069 --> 00:21:55,829 booleana lo ideal es 462 00:21:55,829 --> 00:21:57,829 elegir un nombre que explique lo que representa 463 00:21:57,829 --> 00:21:59,490 pues que va a representar true 464 00:21:59,490 --> 00:22:01,150 si es mayor de edad, 465 00:22:01,329 --> 00:22:03,130 false si no, porque es lo que acompaña 466 00:22:03,130 --> 00:22:05,069 el mensaje. Bueno, pues 467 00:22:05,069 --> 00:22:07,049 este es gran parte de mi 468 00:22:07,049 --> 00:22:08,990 programa, casi todo. Tengo 469 00:22:08,990 --> 00:22:10,890 que mostrar este texto 470 00:22:10,890 --> 00:22:13,089 seguido de algo que sea true o false, 471 00:22:13,309 --> 00:22:14,349 o lo que es lo mismo un boolean. 472 00:22:15,210 --> 00:22:17,029 ¿Vale? Pues a la siguiente pregunta, ¿y este 473 00:22:17,029 --> 00:22:19,230 boolean cuándo va a ser 474 00:22:19,230 --> 00:22:21,009 true y cuándo va a ser false? Esa es la 475 00:22:21,009 --> 00:22:22,150 siguiente pregunta que me hago. 476 00:22:23,130 --> 00:22:25,190 Pues vuelvo al enunciado y el enunciado 477 00:22:25,190 --> 00:22:26,390 me dice 478 00:22:26,390 --> 00:22:28,970 que sea true si tú eres mayor de edad, 479 00:22:29,490 --> 00:22:31,410 ¿Sabemos qué significa ser mayor de edad? 480 00:22:31,490 --> 00:22:32,869 Sí, tener más de 18 481 00:22:32,869 --> 00:22:34,789 Y falsa si no lo es 482 00:22:34,789 --> 00:22:36,650 ¿Vale? Pues entonces 483 00:22:36,650 --> 00:22:39,329 Esta variable booleana tiene que ser true 484 00:22:39,329 --> 00:22:42,329 Si edad es mayor o igual de 18 485 00:22:42,329 --> 00:22:46,490 ¿Vale? ¿Sabemos expresar eso en Java? 486 00:22:47,309 --> 00:22:50,569 Que una variable contenga un valor mayor o igual que algo 487 00:22:50,569 --> 00:22:51,970 Claro que sabemos expresarlo 488 00:22:51,970 --> 00:22:54,309 Pues entonces esta variable booleana 489 00:22:54,309 --> 00:22:57,990 Sabemos ya representarla perfectamente 490 00:22:57,990 --> 00:23:03,700 ¿Vale? Pero hemos ido interpretando 491 00:23:03,700 --> 00:23:05,859 En nuestro propio lenguaje lo que me han pedido 492 00:23:05,859 --> 00:23:07,420 Hemos partido 493 00:23:07,420 --> 00:23:09,039 Del final, a ver 494 00:23:09,039 --> 00:23:11,660 Tengo que mostrar 495 00:23:11,660 --> 00:23:13,500 Esto, esto que va a ser 496 00:23:13,500 --> 00:23:15,519 True, si soy mayor de edad 497 00:23:15,519 --> 00:23:17,619 False, si no, ¿qué significa ser 498 00:23:17,619 --> 00:23:18,359 Mayor de edad? 499 00:23:18,680 --> 00:23:21,119 Que mi edad sea mayor o igual de 18 500 00:23:21,119 --> 00:23:22,980 ¿Sé expresar 501 00:23:22,980 --> 00:23:25,539 Edad mayor o igual que 18 en Java? 502 00:23:26,140 --> 00:23:27,660 Si, si me hubieran dicho, llueve 503 00:23:27,660 --> 00:23:29,880 ¿Y cómo expreso yo que llueve en Java? 504 00:23:29,940 --> 00:23:30,599 No tengo ni idea 505 00:23:30,599 --> 00:23:32,799 pero que una edad sea mayor o igual que 18 506 00:23:32,799 --> 00:23:33,859 si sé expresarlo 507 00:23:33,859 --> 00:23:36,759 pues que suerte, otra cosa no habría sabido 508 00:23:36,759 --> 00:23:38,819 pero esto sí, pues que el contenido 509 00:23:38,819 --> 00:23:40,460 de mi variable sea mayor o igual que 18 510 00:23:40,460 --> 00:23:42,680 ahora ya 511 00:23:42,680 --> 00:23:45,319 ejecutamos 512 00:23:45,319 --> 00:23:47,140 este código, vamos a poner un espacio 513 00:23:47,140 --> 00:23:48,319 para que no quede tan pegado 514 00:23:48,319 --> 00:23:53,250 ¿cuántos años tienes? 515 00:23:53,390 --> 00:23:55,109 12, falso 516 00:23:55,109 --> 00:23:56,390 no eres mayor de edad 517 00:23:56,390 --> 00:23:59,009 ¿cuántos años tienes? 518 00:23:59,009 --> 00:24:01,390 34, true, eres mayor de edad 519 00:24:01,390 --> 00:24:02,009 vale 520 00:24:02,009 --> 00:24:05,109 no es un conjunto de pruebas muy amplio 521 00:24:05,109 --> 00:24:07,009 como para concluir que el programa es válido 522 00:24:07,009 --> 00:24:09,289 pero en este que son cuatro líneas 523 00:24:09,289 --> 00:24:11,289 es sencillo, suponemos que sí 524 00:24:11,289 --> 00:24:18,019 ¿que podríamos habernos ahorrado 525 00:24:18,019 --> 00:24:18,980 esta variable booleana 526 00:24:18,980 --> 00:24:20,740 y poner esto directamente aquí? 527 00:24:21,279 --> 00:24:21,980 pues claro 528 00:24:21,980 --> 00:24:25,920 podríamos habernos ahorrado 529 00:24:25,920 --> 00:24:27,079 esta variable boolean 530 00:24:27,079 --> 00:24:29,559 y poner directamente ahí eso 531 00:24:29,559 --> 00:24:34,289 pero igual lo hace más confuso 532 00:24:34,289 --> 00:24:35,210 eso ya va en gustos 533 00:24:35,210 --> 00:24:38,150 no pasa nada por usar variables 534 00:24:38,150 --> 00:24:40,329 adicionales, si dejan las cosas 535 00:24:40,329 --> 00:24:42,289 más claras, no pasa 536 00:24:42,289 --> 00:24:43,289 nada, vale 537 00:24:43,289 --> 00:24:46,069 yo lo puedo poner ahí, sí 538 00:24:46,069 --> 00:24:48,490 pero cuidado, vale, cuidado 539 00:24:48,490 --> 00:24:49,089 porque 540 00:24:49,089 --> 00:24:51,150 esto 541 00:24:51,150 --> 00:24:54,410 me interpreta la concatenación 542 00:24:54,410 --> 00:24:56,450 de aquí, vale 543 00:24:56,450 --> 00:24:58,289 y luego un string 544 00:24:58,289 --> 00:25:00,130 mayor o igual que 18, no tiene sentido 545 00:25:00,130 --> 00:25:01,930 entonces cuidado 546 00:25:01,930 --> 00:25:04,369 cuidado y vamos a 547 00:25:04,369 --> 00:25:06,329 vamos a usar 548 00:25:06,329 --> 00:25:08,029 los paréntesis, que esto va junto 549 00:25:08,029 --> 00:25:08,630 Cuidado 550 00:25:08,630 --> 00:25:12,529 Cuando en una expresión mezclamos varios operadores 551 00:25:12,529 --> 00:25:14,069 Cuidadín 552 00:25:14,069 --> 00:25:15,789 Porque si la precedencia no está clara 553 00:25:15,789 --> 00:25:17,509 O sea, si la precedencia es igual 554 00:25:17,509 --> 00:25:19,250 Se puede hacer de izquierda a derecha 555 00:25:19,250 --> 00:25:21,369 Bueno, yo quiero que se haga primero esto 556 00:25:21,369 --> 00:25:23,769 Mayor o igual que 18, que me dará true o false 557 00:25:23,769 --> 00:25:25,589 Y ahora concaténame esto con true 558 00:25:25,589 --> 00:25:27,109 O con false, con lo que sea 559 00:25:27,109 --> 00:25:29,750 Esto ya sea la concatenación de un string 560 00:25:29,750 --> 00:25:30,829 Con lo que sea 561 00:25:30,829 --> 00:25:32,289 ¿Vale? 562 00:25:33,049 --> 00:25:35,029 Pues de nuevo, cuidado con los paréntesis 563 00:25:35,029 --> 00:25:44,920 ¿Vale? 564 00:25:44,920 --> 00:25:47,869 sin dudas 565 00:25:47,869 --> 00:25:54,359 bueno 566 00:25:54,359 --> 00:25:55,700 pues 567 00:25:55,700 --> 00:25:59,359 trabajad 568 00:25:59,359 --> 00:26:00,819 ahora vosotros un rato 569 00:26:00,819 --> 00:26:02,000 en 570 00:26:02,000 --> 00:26:05,079 los siguientes, que es un poco para 571 00:26:05,079 --> 00:26:05,940 practicar lo mismo 572 00:26:05,940 --> 00:26:15,339 vale, cuando ya empieza esto 573 00:26:15,339 --> 00:26:17,079 de aquí no, vale 574 00:26:17,079 --> 00:26:19,380 con esto no, pero todos estos 575 00:26:19,380 --> 00:26:21,440 son para practicar un poco estas cositas básicas 576 00:26:21,440 --> 00:26:22,220 del principio 577 00:26:22,220 --> 00:26:25,119 pues venga 578 00:26:25,119 --> 00:26:27,240 ponemos a los dos a practicar con esto 579 00:26:27,240 --> 00:26:28,240 ¡Gracias!