1 00:00:00,050 --> 00:00:19,649 Bueno, pues como bien decía vuestra compañera, efectivamente, si se trata de mostrar el número sin más por consola, mostrarlo por consola y no queremos operar con ese número para nada, simplemente mostrarlo, pues podríamos mostrar la concatenación de las cifras, ¿vale? 2 00:00:19,649 --> 00:00:22,890 si luego ese número lo queremos para operar 3 00:00:22,890 --> 00:00:25,510 tenemos que devolverlo en número, claro 4 00:00:25,510 --> 00:00:28,129 pero si no vamos a operar luego con él para hacer nada 5 00:00:28,129 --> 00:00:30,609 pues podríamos mostrar la concatenación 6 00:00:30,609 --> 00:00:33,530 entonces podríamos mostrar aquí 7 00:00:33,530 --> 00:00:38,990 la concatenación de esas cifras 8 00:00:38,990 --> 00:00:43,590 que lógicamente no haríamos así 9 00:00:43,590 --> 00:00:44,609 ¿verdad? 10 00:00:45,149 --> 00:00:48,369 si quisiéramos mostrar primero las decenas 11 00:00:48,369 --> 00:00:50,829 luego las, primero la mayor 12 00:00:50,829 --> 00:00:52,229 luego la intermedia y luego la menor 13 00:00:52,229 --> 00:00:55,689 la concatenación de las tres no la mostraríamos así, ¿verdad? 14 00:00:56,310 --> 00:01:02,770 ¿Qué tendríamos que incorporar aquí para que se mostrara realmente la concatenación de estos tres números? 15 00:01:06,219 --> 00:01:08,519 Ven, aquí alguien me diga, ¿qué tendría que incorporar aquí? 16 00:01:09,540 --> 00:01:10,939 ¡Ay, jolín, que no estáis viendo nada! 17 00:01:12,120 --> 00:01:16,400 Ni me lo decía ahí, pero como no estáis ni mirando, lo atraía el pairo. 18 00:01:17,120 --> 00:01:18,620 Vale, pues venga, ahora. 19 00:01:18,620 --> 00:01:22,129 bueno, pues entonces 20 00:01:22,129 --> 00:01:25,609 si no tenemos que operar con el número 21 00:01:25,609 --> 00:01:27,049 luego para hacer cosas 22 00:01:27,049 --> 00:01:29,790 no tengo por qué construirlo así 23 00:01:29,790 --> 00:01:31,810 podría decir, solo quiero mostrarlo por consola 24 00:01:31,810 --> 00:01:33,109 pues ya he mostrado la concatenación 25 00:01:33,109 --> 00:01:34,650 vale, bueno 26 00:01:34,650 --> 00:01:36,769 mi pregunta era 27 00:01:36,769 --> 00:01:39,269 yo no mostraría jamás nunca 28 00:01:39,269 --> 00:01:41,510 la concatenación de estos tres números así 29 00:01:41,510 --> 00:01:42,189 ¿verdad? 30 00:01:43,609 --> 00:01:45,569 ¿qué tendría que incorporar aquí 31 00:01:45,569 --> 00:01:47,430 para que realmente 32 00:01:47,430 --> 00:01:49,230 me mostrara la concatenación 33 00:01:49,230 --> 00:01:51,469 del número mayor, más el menor, más el intermedio. 34 00:02:00,099 --> 00:02:01,920 ¿Por qué esto no me concatena? 35 00:02:02,439 --> 00:02:06,340 Porque es un operador suma entre dos operandos numéricos. 36 00:02:06,579 --> 00:02:08,759 Mayor es un número e intermedio es un número. 37 00:02:09,300 --> 00:02:11,939 Con lo cual, esto me haría la suma de las tres cifras. 38 00:02:15,099 --> 00:02:17,939 Claro, para que este operador realmente concatene, 39 00:02:18,599 --> 00:02:21,639 uno de sus dos operandos tiene que ser un string. 40 00:02:21,939 --> 00:02:22,939 Si no, no concatena. 41 00:02:23,800 --> 00:02:26,500 Bueno, pues voy a tener que insertar un string aquí. 42 00:02:27,080 --> 00:02:27,620 No hay otra. 43 00:02:27,620 --> 00:02:30,560 Pero claro, yo ese string no quiero que me meta nada 44 00:02:30,560 --> 00:02:32,680 Porque quiero que me concatene directamente 45 00:02:32,680 --> 00:02:33,860 Un número con el otro 46 00:02:33,860 --> 00:02:36,080 Bueno, pues le pones un string vacío 47 00:02:36,080 --> 00:02:38,419 No pasa nada 48 00:02:38,419 --> 00:02:39,659 ¿Vale? 49 00:02:40,219 --> 00:02:41,300 Esto es un string 50 00:02:41,300 --> 00:02:44,219 Perfectamente válido 51 00:02:44,219 --> 00:02:45,819 Es un string que no tiene nada 52 00:02:45,819 --> 00:02:47,240 Esto es otro string 53 00:02:47,240 --> 00:02:48,919 Esto es otro string 54 00:02:48,919 --> 00:02:51,800 Y esto también lo es, pero es una cadena vacía 55 00:02:51,800 --> 00:02:53,819 Que es justo lo que yo quiero que vaya 56 00:02:53,819 --> 00:02:55,199 Entre medias de las cifras 57 00:02:55,199 --> 00:02:57,139 Una cadena vacía 58 00:02:57,139 --> 00:02:58,680 ¿vale? 59 00:03:02,610 --> 00:03:03,009 entonces 60 00:03:03,009 --> 00:03:10,050 esa es mi pregunta 61 00:03:10,050 --> 00:03:11,990 siguiente, que por qué he metido esto último 62 00:03:11,990 --> 00:03:12,370 dices 63 00:03:12,370 --> 00:03:15,770 que por qué la meto 64 00:03:15,770 --> 00:03:18,430 para que no me haga la suma, sino la concatenación 65 00:03:18,430 --> 00:03:19,650 porque si no me va a hacer la suma 66 00:03:19,650 --> 00:03:21,069 ah, vale, claro, es que 67 00:03:21,069 --> 00:03:23,669 como lo había hecho es 68 00:03:23,669 --> 00:03:25,590 el mayor número que se puede obtener 69 00:03:25,590 --> 00:03:27,289 esto es, y luego ya tal 70 00:03:27,289 --> 00:03:29,909 claro, porque tenías el mensaje 71 00:03:29,909 --> 00:03:31,430 antes, entonces ya, vale 72 00:03:31,430 --> 00:03:33,389 entonces, pero si, claro 73 00:03:33,389 --> 00:03:34,629 si yo lo tenía así 74 00:03:34,629 --> 00:03:37,819 voy para adelante 75 00:03:37,819 --> 00:03:52,780 mayor 76 00:03:52,780 --> 00:03:54,580 más intermedia 77 00:03:54,580 --> 00:03:56,960 más menor, me hubiera mostrado la suma de las tres 78 00:03:56,960 --> 00:03:59,039 tú tenías un mensajito antes 79 00:03:59,039 --> 00:04:01,099 entonces ya se había hecho string 80 00:04:01,099 --> 00:04:03,300 vale, entonces yo he dicho 81 00:04:03,300 --> 00:04:04,960 pues venga, cadena vacía 82 00:04:04,960 --> 00:04:06,960 y ahora ya 83 00:04:06,960 --> 00:04:08,379 entonces 84 00:04:08,379 --> 00:04:12,120 mi pregunta es 85 00:04:12,120 --> 00:04:14,039 ¿aquí hace falta también 86 00:04:14,039 --> 00:04:18,199 esta siguiente que yo he puesto 87 00:04:18,199 --> 00:04:20,939 esta de aquí 88 00:04:20,939 --> 00:04:23,800 ¿me hace falta también? 89 00:04:26,930 --> 00:04:28,269 esta está claro que sí 90 00:04:28,269 --> 00:04:32,420 ¿esta segunda me hace falta? 91 00:04:39,740 --> 00:04:41,639 claro, esta ya no me hace falta 92 00:04:41,639 --> 00:04:44,639 porque mayor más cadena vacía 93 00:04:44,639 --> 00:04:45,879 esto ya es un string 94 00:04:45,879 --> 00:04:48,120 vale, ahora este string 95 00:04:48,120 --> 00:04:50,139 al concatenarlo con un número 96 00:04:50,139 --> 00:04:52,819 se convierte en un string 97 00:04:52,819 --> 00:04:54,720 esto ya es un string 98 00:04:54,720 --> 00:04:57,620 luego ya, esto no me hace falta 99 00:04:57,620 --> 00:04:58,860 porque string más menor 100 00:04:58,860 --> 00:05:00,259 el número que sea 101 00:05:00,259 --> 00:05:03,259 o, de hecho, podría 102 00:05:03,259 --> 00:05:05,379 este que yo he insertado aquí 103 00:05:05,379 --> 00:05:06,920 en lugar de haberlo insertado ahí 104 00:05:06,920 --> 00:05:08,579 haberlo insertado antes 105 00:05:08,579 --> 00:05:10,839 claro, no, al final no 106 00:05:10,839 --> 00:05:12,399 porque va de izquierda a derecha 107 00:05:12,399 --> 00:05:14,160 claro 108 00:05:14,160 --> 00:05:17,540 claro, me hubiera sumado 109 00:05:17,540 --> 00:05:19,399 y la suma me la hubiera concatenado ya 110 00:05:19,399 --> 00:05:21,620 con el string 111 00:05:21,620 --> 00:05:22,459 claro 112 00:05:22,459 --> 00:05:24,720 vale, entonces 113 00:05:24,720 --> 00:05:26,060 en lugar de ponerlo aquí 114 00:05:26,060 --> 00:05:28,540 lo podría haber puesto antes 115 00:05:28,540 --> 00:05:32,019 y al ir de izquierda a derecha 116 00:05:32,019 --> 00:05:32,939 al no haber paréntesis 117 00:05:32,939 --> 00:05:33,939 a ir de izquierda a derecha 118 00:05:33,939 --> 00:05:38,079 vale, string con número 119 00:05:38,079 --> 00:05:39,379 string 120 00:05:39,379 --> 00:05:41,720 y ahora, a partir de ahí 121 00:05:41,720 --> 00:05:42,980 ya voy arrastrando los string 122 00:05:42,980 --> 00:05:44,399 string más número 123 00:05:44,399 --> 00:05:46,220 string, concatenación 124 00:05:46,220 --> 00:05:48,579 string más otro número 125 00:05:48,579 --> 00:05:50,620 string, concatenación 126 00:05:50,620 --> 00:05:52,160 vale 127 00:05:52,160 --> 00:05:54,139 Entonces de poner esto a no ponerlo 128 00:05:54,139 --> 00:05:55,160 La diferencia es enorme 129 00:05:55,160 --> 00:05:56,019 ¿Vale? 130 00:05:58,139 --> 00:05:59,199 Voy a 131 00:05:59,199 --> 00:06:01,220 ¿Dónde arrastro? 132 00:06:01,379 --> 00:06:02,100 Ah no, que estoy aquí 133 00:06:02,100 --> 00:06:04,079 Vale, de hecho voy a volverlo a ejecutar 134 00:06:04,079 --> 00:06:06,279 Comentando lo de arriba 135 00:06:06,279 --> 00:06:08,000 Para que me lo muestre con lo de abajo 136 00:06:08,000 --> 00:06:09,399 A ver si lo hemos 137 00:06:09,399 --> 00:06:12,139 ¿Vale? 138 00:06:12,199 --> 00:06:12,980 Pues por ejemplo 139 00:06:12,980 --> 00:06:15,019 El 235 140 00:06:15,019 --> 00:06:16,680 532 141 00:06:16,680 --> 00:06:17,079 ¿Vale? 142 00:06:17,100 --> 00:06:18,339 No hace falta que haga más pruebas 143 00:06:18,339 --> 00:06:24,009 ¿Vale? 144 00:06:24,009 --> 00:06:29,560 bueno pues hablando de string 145 00:06:29,560 --> 00:06:31,319 ya que estamos con string 146 00:06:31,319 --> 00:06:32,399 recordáis que os dije 147 00:06:32,399 --> 00:06:35,060 que los objetos 148 00:06:35,060 --> 00:06:37,339 la diferencia que tienen 149 00:06:37,339 --> 00:06:38,939 respecto a las variables primitivas 150 00:06:38,939 --> 00:06:41,019 como los números y los char 151 00:06:41,019 --> 00:06:42,759 es 152 00:06:42,759 --> 00:06:44,759 que además de guardar valor 153 00:06:44,759 --> 00:06:46,839 su propio valor, el que sea 154 00:06:46,839 --> 00:06:48,860 además de guardar valor pueden 155 00:06:48,860 --> 00:06:50,639 dar órdenes y hacer cosas 156 00:06:50,639 --> 00:06:53,160 ¿vale? lo dijimos ¿no? 157 00:06:53,620 --> 00:06:55,300 y de hecho ya vimos que una cadena 158 00:06:55,300 --> 00:06:56,459 un objeto string 159 00:06:56,459 --> 00:06:59,759 podía dar la orden length 160 00:06:59,759 --> 00:07:03,660 que le decía la cantidad de caracteres que tenía 161 00:07:03,660 --> 00:07:06,819 ¿verdad? y lo usamos ya en un ejercicio 162 00:07:06,819 --> 00:07:09,439 bueno, pues vamos a 163 00:07:09,439 --> 00:07:12,220 y dijimos, según vayamos necesitando 164 00:07:12,220 --> 00:07:15,120 vamos a ir incorporando pequeñas órdenes 165 00:07:15,120 --> 00:07:17,439 que puede dar una variable string 166 00:07:17,439 --> 00:07:19,800 para hacer cosas, por el hecho de ser un objeto 167 00:07:19,800 --> 00:07:23,199 bueno, pues vamos en este mismo ejercicio 168 00:07:23,199 --> 00:07:26,100 aquí donde se me ha complicado la vida 169 00:07:26,100 --> 00:07:27,879 entre comillas, se me ha complicado 170 00:07:27,879 --> 00:07:29,779 es en esto 171 00:07:29,779 --> 00:07:31,899 en 172 00:07:31,899 --> 00:07:33,959 ¿cómo saco las centenas? ¿cómo saco 173 00:07:33,959 --> 00:07:35,720 las unidades? ¿cómo saco las decenas? 174 00:07:36,819 --> 00:07:37,839 entonces podríamos habernos 175 00:07:37,839 --> 00:07:39,680 planteado, oye a ver, espérate 176 00:07:39,680 --> 00:07:41,379 a mí me da el número 177 00:07:41,379 --> 00:07:42,959 317 178 00:07:42,959 --> 00:07:45,980 si yo 179 00:07:45,980 --> 00:07:47,259 lo convierto a string 180 00:07:47,259 --> 00:07:49,800 ya tengo 181 00:07:49,800 --> 00:07:51,800 automáticamente el primer carácter 182 00:07:51,800 --> 00:07:53,060 es las centenas 183 00:07:53,060 --> 00:07:56,180 el segundo carácter es las decenas 184 00:07:56,180 --> 00:07:58,139 y el último 185 00:07:58,139 --> 00:07:59,519 carácter es las unidades 186 00:07:59,519 --> 00:08:01,959 entonces si yo fuera capaz de 187 00:08:01,959 --> 00:08:03,540 convertir a string ese número 188 00:08:03,540 --> 00:08:06,379 se trataría de sacar 189 00:08:06,379 --> 00:08:07,620 cada uno de los char 190 00:08:07,620 --> 00:08:09,819 y ya los tengo 191 00:08:09,819 --> 00:08:12,279 las decenas y las unidades 192 00:08:12,279 --> 00:08:15,120 vale 193 00:08:15,120 --> 00:08:17,579 entonces 194 00:08:17,579 --> 00:08:20,180 podría enfocarlo así, convertirlo a string 195 00:08:20,180 --> 00:08:20,620 puedo 196 00:08:20,620 --> 00:08:23,620 en realidad es lo que estamos haciendo 197 00:08:23,620 --> 00:08:25,339 cada vez que 198 00:08:25,339 --> 00:08:29,300 hacemos un system out 199 00:08:29,300 --> 00:08:30,579 en el cual decimos 200 00:08:30,579 --> 00:08:32,519 oye no quiero considerarlo como entero 201 00:08:32,519 --> 00:08:33,399 sino como string 202 00:08:33,399 --> 00:08:34,759 ya lo estamos haciendo 203 00:08:34,759 --> 00:08:37,299 entonces vamos a sacar aquí 204 00:08:37,299 --> 00:08:39,320 en lugar de de esta manera 205 00:08:39,320 --> 00:08:40,419 sacarlo de esta manera 206 00:08:40,419 --> 00:08:43,779 vamos a sacarlo con string 207 00:08:43,779 --> 00:08:44,639 vale 208 00:08:44,639 --> 00:08:47,299 vale pues entonces 209 00:08:47,299 --> 00:08:48,240 lo primero que hemos dicho 210 00:08:48,240 --> 00:08:50,080 necesito el número como cadena 211 00:08:50,080 --> 00:08:56,299 vale, entonces 212 00:08:56,299 --> 00:08:59,179 vamos a abordar este problema de esta otra manera 213 00:08:59,179 --> 00:09:00,480 que acabo de decir 214 00:09:00,480 --> 00:09:02,000 en lugar de con estas operaciones 215 00:09:02,000 --> 00:09:05,039 vale, pues voy a primero 216 00:09:05,039 --> 00:09:07,299 obtener el número 217 00:09:07,299 --> 00:09:08,980 pero interpretado como 218 00:09:08,980 --> 00:09:10,059 cadena de texto 219 00:09:10,059 --> 00:09:12,740 no como numerito tal cual, yo aquí lo tengo como 220 00:09:12,740 --> 00:09:14,700 número 315, 218 221 00:09:14,700 --> 00:09:16,460 pues en lugar de como número 222 00:09:16,460 --> 00:09:18,379 voy a interpretarlo como 223 00:09:18,379 --> 00:09:19,539 cadena de texto 224 00:09:19,539 --> 00:09:20,799 vale 225 00:09:20,799 --> 00:09:24,700 voy a convertirlo a cadena de texto 226 00:09:24,700 --> 00:09:26,740 y guardarlo por tanto en un string 227 00:09:26,740 --> 00:09:28,840 cuando lo tenga en cadena de texto 228 00:09:28,840 --> 00:09:31,059 ya veré a ver si soy capaz de sacar 229 00:09:31,059 --> 00:09:33,360 el primer carácter de la cadena 230 00:09:33,360 --> 00:09:35,059 el segundo y el tercero 231 00:09:35,059 --> 00:09:36,559 porque si lo tengo ya está 232 00:09:36,559 --> 00:09:38,620 ya tengo las centenas, las decenas y las unidades 233 00:09:38,620 --> 00:09:40,179 vale, pues 234 00:09:40,179 --> 00:09:42,440 ¿cómo convertiríais número 235 00:09:42,440 --> 00:09:45,200 para que se convirtiera en una cadena 236 00:09:45,200 --> 00:09:47,059 con esas cifras? 237 00:09:47,960 --> 00:09:49,320 ¿os ocurre de alguna manera 238 00:09:49,320 --> 00:09:50,419 algo que yo pueda hacer aquí? 239 00:09:50,799 --> 00:09:55,779 lo acabamos de hacer cuando hemos necesitado 240 00:09:55,779 --> 00:09:57,919 que un número se ha interpretado como cadena 241 00:09:57,919 --> 00:09:59,559 en lugar de como número, lo acabamos de hacer. 242 00:10:00,919 --> 00:10:02,620 ¿Qué podríamos hacer aquí? 243 00:10:06,850 --> 00:10:09,070 Poniendo el string primero, ¿no? 244 00:10:09,070 --> 00:10:10,649 Al principio, o en ese... 245 00:10:10,649 --> 00:10:11,230 A igual. 246 00:10:12,809 --> 00:10:13,950 Vale, ya lo tengo. 247 00:10:15,350 --> 00:10:19,610 Esto es mi número de cifras, de tres cifras, mi número, 248 00:10:20,190 --> 00:10:22,129 pero al concatenarse con un string, 249 00:10:22,590 --> 00:10:23,950 se convierte en string. 250 00:10:23,950 --> 00:10:30,750 Luego, esta variable es la sucesión de cifras de ese numerito 251 00:10:30,750 --> 00:10:32,509 Pero ya he interpretado como string 252 00:10:32,509 --> 00:10:40,149 Si número era 315, pues número cadena será la cadena 315 253 00:10:40,149 --> 00:10:43,870 Porque la he convertido a string con esto tan sencillo 254 00:10:43,870 --> 00:10:46,549 Siempre que queramos convertir algo a string 255 00:10:46,549 --> 00:10:49,169 Lo concatenamos con esto 256 00:10:49,169 --> 00:10:58,350 Y ya está. Se ha tenido que convertir a string para concatenarse. Y como esto es el vacío, no le estamos añadiendo nada. 257 00:11:00,269 --> 00:11:12,259 Luego, cada vez que queramos convertir algo a cadena, pues con concatenar con eso, ya está. 258 00:11:12,259 --> 00:11:17,080 ya lo tenemos convertido a cadena 259 00:11:17,080 --> 00:11:19,440 vale, pero ahora viene otro problema 260 00:11:19,440 --> 00:11:20,860 de esta cadena 261 00:11:20,860 --> 00:11:22,820 ¿de dónde saco yo el primer carácter? 262 00:11:23,220 --> 00:11:24,279 que serán las centenas 263 00:11:24,279 --> 00:11:27,080 el segundo que serán las decenas 264 00:11:27,080 --> 00:11:28,639 y el tercero que serán las unidades 265 00:11:28,639 --> 00:11:31,419 pues ni idea, no sabemos hacerlo 266 00:11:31,419 --> 00:11:32,360 no sabemos 267 00:11:32,360 --> 00:11:35,659 pero yo dije en su momento 268 00:11:35,659 --> 00:11:36,080 que 269 00:11:36,080 --> 00:11:39,080 las variables string como esta 270 00:11:39,080 --> 00:11:41,080 por ser variables objeto 271 00:11:41,080 --> 00:11:43,799 pueden dar órdenes para hacer cosas 272 00:11:43,799 --> 00:11:48,059 pues resulta que una de las órdenes que pueden dar es 273 00:11:48,059 --> 00:11:52,340 oye, dame el carácter de posición tal 274 00:11:52,340 --> 00:11:53,500 la que sea 275 00:11:53,500 --> 00:11:56,320 ¿recordáis que esto lo hemos hecho? 276 00:11:57,059 --> 00:11:58,860 hemos hecho, teníamos un stream 277 00:11:58,860 --> 00:12:00,759 y hemos dicho, uy 278 00:12:00,759 --> 00:12:03,100 lo hemos hecho en la pizarra 279 00:12:03,100 --> 00:12:05,120 si yo pongo aquí un puntito 280 00:12:05,120 --> 00:12:08,399 se me despliegan un montón de cosas 281 00:12:08,399 --> 00:12:09,899 que puedo hacer con esa variable 282 00:12:09,899 --> 00:12:10,679 un montón 283 00:12:10,679 --> 00:12:15,259 y utilizamos en un ejemplo en particular 284 00:12:15,259 --> 00:12:17,120 utilizamos esto 285 00:12:17,120 --> 00:12:21,019 que nos daba el número de caracteres de la cadena 286 00:12:21,019 --> 00:12:23,019 y dijimos 287 00:12:23,019 --> 00:12:26,720 a ver, cuando la variable es primitiva 288 00:12:26,720 --> 00:12:28,580 como número, como int 289 00:12:28,580 --> 00:12:30,700 si yo pongo aquí el puntito 290 00:12:30,700 --> 00:12:33,259 aquí no se despliega nada 291 00:12:33,259 --> 00:12:36,419 porque las variables primitivas no pueden dar órdenes 292 00:12:36,419 --> 00:12:38,320 esto lo estuvimos haciendo aquí 293 00:12:38,320 --> 00:12:42,179 pero número cadena sí puede dar órdenes para hacer cosas. 294 00:12:46,139 --> 00:12:47,700 Vamos a ver qué órdenes puede dar. 295 00:12:47,799 --> 00:12:48,919 ¿Alguna nos interesará? 296 00:12:49,600 --> 00:12:51,080 Pues no sé, vamos a mirarlas. 297 00:12:52,679 --> 00:12:56,080 ¿Qué órdenes puede dar este de aquí? 298 00:12:58,279 --> 00:13:00,919 Pues a lo mejor por el nombrecito la deducimos. 299 00:13:01,740 --> 00:13:03,940 Pues es que la primera que me ofrece, 300 00:13:05,679 --> 00:13:08,039 por su nombre, tiene pinta de que es lo que busco, 301 00:13:08,039 --> 00:13:10,019 que es carácter en 302 00:13:10,019 --> 00:13:12,000 y me da aquí un índice 303 00:13:12,000 --> 00:13:13,960 voy a ver que explicación me da 304 00:13:13,960 --> 00:13:16,279 te devuelve el carácter 305 00:13:16,279 --> 00:13:17,279 que está en esta posición 306 00:13:17,279 --> 00:13:20,059 la primera posición 307 00:13:20,059 --> 00:13:20,960 será la 0 308 00:13:20,960 --> 00:13:23,679 la siguiente la 1 309 00:13:23,679 --> 00:13:24,919 la siguiente la 2 310 00:13:24,919 --> 00:13:27,720 etcétera, es lo que te dice 311 00:13:27,720 --> 00:13:30,019 el primer carácter estará en la posición 0 312 00:13:30,019 --> 00:13:32,399 el siguiente estará en la 1 313 00:13:32,399 --> 00:13:34,419 etcétera, etcétera 314 00:13:34,419 --> 00:13:36,940 justo lo que queríamos 315 00:13:36,940 --> 00:13:41,000 Queremos el carácter en la primera posición 316 00:13:41,000 --> 00:13:42,559 El carácter en la segunda 317 00:13:42,559 --> 00:13:43,580 Y el carácter en la tercera 318 00:13:43,580 --> 00:13:45,580 Siendo la primera la cero 319 00:13:45,580 --> 00:13:47,299 La segunda la uno 320 00:13:47,299 --> 00:13:49,179 Y la tercera la dos, etc. 321 00:13:50,139 --> 00:13:51,820 Justo, el primero que me ofrece 322 00:13:51,820 --> 00:13:53,019 Es justo el que necesito 323 00:13:53,019 --> 00:13:56,240 Pues venga, vamos a usar eso 324 00:13:56,240 --> 00:14:01,720 Vale, número cadena 325 00:14:01,720 --> 00:14:02,879 Char at 326 00:14:02,879 --> 00:14:04,379 Cero 327 00:14:04,379 --> 00:14:07,419 Será el carácter 328 00:14:07,419 --> 00:14:08,500 De la posición cero 329 00:14:08,500 --> 00:14:10,340 o sea, las centenas 330 00:14:10,340 --> 00:14:12,519 pero en char, porque es un char 331 00:14:12,519 --> 00:14:14,679 es un único char, las centenas 332 00:14:14,679 --> 00:14:21,240 lo voy a llamar 333 00:14:21,240 --> 00:14:22,379 como centenas así 334 00:14:22,379 --> 00:14:25,019 ala, ya tengo el char centenas 335 00:14:25,019 --> 00:14:26,639 el 7, el 2, pero como char 336 00:14:26,639 --> 00:14:29,320 no como numerito, como char 337 00:14:29,320 --> 00:14:30,779 vale 338 00:14:30,779 --> 00:14:33,710 ahora 339 00:14:33,710 --> 00:14:36,470 el char que tiene las decenas 340 00:14:36,470 --> 00:14:40,289 lo sacaré como número 341 00:14:40,289 --> 00:14:42,529 cadena punto 342 00:14:42,529 --> 00:14:43,570 char at 343 00:14:43,570 --> 00:15:27,539 ¿Qué posición pondría ahí? Si la 0 es la primera, la siguiente posición es la 1. Vale. Y ahora las unidades será número cadena, charat, ¿cuál será la tercera posición? ¿Qué número pongo ahí? ¿Qué número pongo aquí? 344 00:15:27,539 --> 00:15:50,399 Dos. Vale. Entonces, las órdenes básicas, que es lo que se llama métodos, las órdenes básicas que puede dar un stream para hacer cosas, es lo que os dije que estaba recogido en el fichero de la aula virtual, pero que en lugar de mirarlo de arriba abajo en plan teoría, pues iríamos incorporando las básicas en ejercicios, ¿vale? 345 00:15:50,399 --> 00:15:55,200 Bueno, pues ya tenemos dos cosas que puede hacer una cadena 346 00:15:55,200 --> 00:15:58,620 Devolverme su tamaño con punto lenz 347 00:15:58,620 --> 00:16:02,399 O devolverme el carácter que tiene 348 00:16:02,399 --> 00:16:05,139 En una posición concreta que yo le diga 349 00:16:05,139 --> 00:16:07,779 Entendiéndose que 0 es la primera 350 00:16:07,779 --> 00:16:11,500 1 la segunda, 2 la tercera, 3 la cuarta, etc 351 00:16:11,500 --> 00:16:14,820 Anda, pues ya tengo las centenas 352 00:16:14,820 --> 00:16:17,000 Las decenas son las unidades, ya las tengo 353 00:16:17,000 --> 00:16:21,279 Pero ojo, ojo, ojo, que las tienes como char 354 00:16:21,279 --> 00:16:24,919 Las necesitamos otra vez como int 355 00:16:24,919 --> 00:16:29,639 Las necesitamos como int para operar con ellas 356 00:16:29,639 --> 00:16:31,039 ¿Vale? 357 00:16:32,539 --> 00:16:35,360 Las necesito como enteros, como numeritos ya 358 00:16:35,360 --> 00:16:38,960 Para operar con ellas, para ver cuál es mayor o igual que la otra, etc 359 00:16:38,960 --> 00:16:46,679 Entonces, ahora ya se nos plantea la siguiente pregunta 360 00:16:46,679 --> 00:16:48,659 cómo pasamos 361 00:16:48,659 --> 00:16:49,639 un char 362 00:16:49,639 --> 00:16:52,600 al número entero 363 00:16:52,600 --> 00:16:54,559 correspondiente 364 00:16:54,559 --> 00:16:56,620 que programa 365 00:16:56,620 --> 00:17:01,570 alguna forma 366 00:17:01,570 --> 00:17:02,350 de arrancar 367 00:17:02,350 --> 00:17:04,529 si os ocurre, yo tengo este char 368 00:17:04,529 --> 00:17:07,650 cómo lo paso, si este char es el char 369 00:17:07,650 --> 00:17:08,569 7 370 00:17:08,569 --> 00:17:11,390 cómo lo paso al número entero 7 371 00:17:11,390 --> 00:17:13,269 algún punto de partida 372 00:17:13,269 --> 00:17:14,849 en el que se os ocurriera empezar a arrancar 373 00:17:14,849 --> 00:17:15,690 a tirar por ahí 374 00:17:15,690 --> 00:17:24,400 la tabla hasti 375 00:17:24,400 --> 00:17:26,059 ¿no? Vámonos a la tabla ASTI. 376 00:17:32,680 --> 00:17:40,759 A ver, bueno, 377 00:17:40,839 --> 00:17:41,400 igual se ha ido 378 00:17:41,400 --> 00:17:43,839 gente suficiente. 379 00:18:22,259 --> 00:18:23,559 Vale, ahora 380 00:18:23,559 --> 00:18:33,339 sí. Vale, los 381 00:18:33,339 --> 00:18:35,019 numeritos, ¿dónde están? Están aquí. 382 00:18:38,089 --> 00:18:38,329 ¿Vale? 383 00:18:39,089 --> 00:18:41,630 El 0, el 1, el 2... 384 00:18:41,630 --> 00:18:42,650 Entonces, yo sé... Dime. 385 00:18:48,049 --> 00:18:49,250 Urgentemente. Pues venga. 386 00:18:50,509 --> 00:18:50,990 Vale. 387 00:18:53,349 --> 00:18:55,329 a ver 388 00:18:55,329 --> 00:18:57,210 como se os ocurriría 389 00:18:57,210 --> 00:19:00,190 el char cero es este, el uno, el dos 390 00:19:00,190 --> 00:19:01,769 pero ya sabéis que un char 391 00:19:01,769 --> 00:19:03,269 es también 392 00:19:03,269 --> 00:19:05,849 el numerito que lo representa 393 00:19:05,849 --> 00:19:07,890 un char dentro también sería 394 00:19:07,890 --> 00:19:10,049 el cero sería el cuarenta y ocho, el uno sería 395 00:19:10,049 --> 00:19:12,089 el cuarenta y nueve, el dos sería el cincuenta 396 00:19:12,089 --> 00:19:14,210 si os ocurre alguna 397 00:19:14,210 --> 00:19:15,930 operación de la que tirar 398 00:19:15,930 --> 00:19:27,609 yo restaría 399 00:19:27,609 --> 00:19:29,450 restaría 400 00:19:29,450 --> 00:19:32,319 de 401 00:19:32,319 --> 00:19:36,140 alguna resta, algo, no sé 402 00:19:36,140 --> 00:19:38,339 lo digo demasiado pronto 403 00:19:38,339 --> 00:19:40,259 y si vosotros le dais tiempo eso os ocurre 404 00:19:40,259 --> 00:19:53,190 fijaos que ocurre 405 00:19:53,190 --> 00:19:54,809 si el char 406 00:19:54,809 --> 00:19:57,329 fijaos que para Java está codificado 407 00:19:57,329 --> 00:19:59,630 exactamente igual que el número por dentro, podéis tratar igual 408 00:19:59,630 --> 00:20:00,630 podéis restar 409 00:20:00,630 --> 00:20:02,970 si al numerito 410 00:20:02,970 --> 00:20:05,549 48 le restáis 48 411 00:20:05,549 --> 00:20:06,049 da 0 412 00:20:06,049 --> 00:20:09,430 pero si al 49 le restáis 48 da 1 413 00:20:09,430 --> 00:20:11,609 si al 50 le restáis 414 00:20:11,609 --> 00:20:12,589 48 da 2 415 00:20:12,589 --> 00:20:18,430 Pues yo al char correspondiente le restaría 48 y ya me da el número, ¿o no? 416 00:20:22,450 --> 00:20:28,789 Si le restáis 48 ya te da el número, porque si es 0, sería 48 menos 48, 0. 417 00:20:29,309 --> 00:20:32,170 Pero si fuera 1, 49 menos 48, 1. 418 00:20:33,089 --> 00:20:39,849 Entonces, al char correspondiente le restáis 48 y te da el número que representa, ¿verdad? 419 00:20:42,180 --> 00:20:42,579 ¿Vale? 420 00:20:42,579 --> 00:20:46,460 Entonces si tiramos de ahí 421 00:20:46,460 --> 00:20:48,000 Ah, vale, pues parece buena idea 422 00:20:48,000 --> 00:20:49,559 Parece buena idea 423 00:20:49,559 --> 00:20:51,779 Pues nos vamos ahora aquí 424 00:20:51,779 --> 00:20:53,559 Y ahora 425 00:20:53,559 --> 00:20:55,799 Si yo hago 426 00:20:55,799 --> 00:21:00,940 Centenas menos 427 00:21:00,940 --> 00:21:04,000 48 428 00:21:04,000 --> 00:21:27,500 Vale, la variable es 429 00:21:27,500 --> 00:21:29,420 Ah, es que la tenía declarada arriba, perdón 430 00:21:29,420 --> 00:21:31,180 Las tengo aquí, vale 431 00:21:31,180 --> 00:21:35,559 Centenas 432 00:21:35,559 --> 00:21:38,519 Es lo que tenga el char centenas 433 00:21:38,519 --> 00:21:57,180 ¿Qué va a tener? Si centenas tiene 40, el 1 tiene 49, si tiene el 1 tiene 49, está claro, pues entonces a 49 le quito 48, me da 1, ¿vale? 434 00:21:57,180 --> 00:21:59,180 si centenas 435 00:21:59,180 --> 00:22:01,059 esto de aquí, este 436 00:22:01,059 --> 00:22:02,740 tiene 50 437 00:22:02,740 --> 00:22:05,299 estoy aquí 438 00:22:05,299 --> 00:22:07,900 es porque tiene el char 2 439 00:22:07,900 --> 00:22:09,460 tiene el char 2, tiene 50 440 00:22:09,460 --> 00:22:11,519 si le quito 48 441 00:22:11,519 --> 00:22:12,900 me da el número 2 442 00:22:12,900 --> 00:22:16,200 que es justo el char 2 que está codificando 443 00:22:16,200 --> 00:22:19,200 luego entonces 444 00:22:19,200 --> 00:22:20,259 puedo sacar ya 445 00:22:20,259 --> 00:22:23,279 las decenas 446 00:22:23,279 --> 00:22:25,400 las centenas y las unidades 447 00:22:25,400 --> 00:22:26,440 en número 448 00:22:26,440 --> 00:22:27,819 de esta manera 449 00:22:27,819 --> 00:22:36,750 Perdón, unidades 450 00:22:36,750 --> 00:22:38,910 Igual a unid 451 00:22:38,910 --> 00:22:41,230 Menos 48 452 00:22:41,230 --> 00:22:45,549 Y ya tengo una manera 453 00:22:45,549 --> 00:22:48,109 De sacar las centenas, decenas y unidades 454 00:22:48,109 --> 00:22:49,589 Sin que se me haya ocurrido 455 00:22:49,589 --> 00:22:50,670 Esta operación de aquí 456 00:22:50,670 --> 00:22:52,950 Usando string 457 00:22:52,950 --> 00:22:55,069 Lo convierto a string 458 00:22:55,069 --> 00:22:56,890 Ya lo tengo como sucesión de char 459 00:22:56,890 --> 00:23:00,009 Ahora me saco cada char 460 00:23:00,009 --> 00:23:01,690 El char de la posición 0 461 00:23:01,690 --> 00:23:03,369 El char de la posición 1 462 00:23:03,369 --> 00:23:05,710 el char de la posición 2, lo necesito 463 00:23:05,710 --> 00:23:07,369 en número, lo necesito en número 464 00:23:07,369 --> 00:23:08,970 para poder ahora ya operar con ellos 465 00:23:08,970 --> 00:23:11,490 ¿en número cómo? 466 00:23:11,789 --> 00:23:13,470 pues, ¿cómo se me ocurre? 467 00:23:13,589 --> 00:23:14,930 pues char, números, 468 00:23:15,329 --> 00:23:17,690 la tabla ASCII, ya sabemos 469 00:23:17,690 --> 00:23:19,250 que cada char tiene asociado 470 00:23:19,250 --> 00:23:20,529 un número por dentro 471 00:23:20,529 --> 00:23:22,710 ¿puedo tirar de ahí? 472 00:23:23,529 --> 00:23:25,410 pues hombre, pues sí, pensando 473 00:23:25,410 --> 00:23:26,490 un poco puedo tirar de ahí 474 00:23:26,490 --> 00:23:29,529 cojo el char correspondiente, le quito 475 00:23:29,529 --> 00:23:31,250 48 y va a coincidir 476 00:23:31,250 --> 00:23:33,650 que me da el numerito justo que representa 477 00:23:33,650 --> 00:23:35,769 el número justo que representa 478 00:23:35,769 --> 00:23:37,910 si el char es 5 479 00:23:37,910 --> 00:23:39,269 tendrá dentro 53 480 00:23:39,269 --> 00:23:41,869 a 53 le quito 48 481 00:23:41,869 --> 00:23:43,589 me va a dar 5 482 00:23:43,589 --> 00:23:45,589 el número 5, que es el char que representa 483 00:23:45,589 --> 00:23:49,170 ¿vale? 484 00:23:55,559 --> 00:23:56,859 bueno, pues entonces 485 00:23:56,859 --> 00:23:59,299 bueno, vamos a probarlo porque puede haber escrito algo mal 486 00:23:59,299 --> 00:24:01,299 entonces 487 00:24:01,299 --> 00:24:03,079 aparte de 488 00:24:03,079 --> 00:24:05,920 repasar todo esto hasta entenderlo bien 489 00:24:05,920 --> 00:24:08,579 del aula virtual 490 00:24:08,579 --> 00:24:34,490 del aula virtual 491 00:24:34,490 --> 00:24:36,769 ahora ya sí que hemos visto un par de ejemplos 492 00:24:36,769 --> 00:24:38,269 echaos un vistazo 493 00:24:38,269 --> 00:24:40,650 a este documento 494 00:24:41,650 --> 00:24:42,750 en el que habla un poco 495 00:24:42,750 --> 00:24:44,549 sobre el tipo 496 00:24:44,549 --> 00:24:46,650 string, por qué es diferente de los tipos 497 00:24:46,650 --> 00:24:48,829 primitivos y qué cosas útiles puede hacer 498 00:24:48,829 --> 00:24:49,670 ¿vale? 499 00:24:49,730 --> 00:24:52,750 cosas útiles puede hacer, como el charat 500 00:24:52,750 --> 00:24:53,910 y el length que ya hemos visto 501 00:24:53,910 --> 00:24:54,789 ¿vale? 502 00:24:56,690 --> 00:24:58,789 entonces, vamos a 503 00:24:58,789 --> 00:25:00,750 probar esto, porque puedo haberme 504 00:25:00,750 --> 00:25:02,809 equivocado, en alguna de las restas, en algo 505 00:25:02,809 --> 00:25:03,609 de lo que he hecho, etc. 506 00:25:05,150 --> 00:25:06,849 Es el mismo programa, pero en lugar 507 00:25:06,849 --> 00:25:08,809 de sacar así las centenas, decenas 508 00:25:08,809 --> 00:25:10,569 de unidades, las estoy sacando de esta manera, 509 00:25:10,710 --> 00:25:12,930 con string. Y luego el resto es igual. 510 00:25:23,460 --> 00:25:24,440 Vale, 364. 511 00:25:26,779 --> 00:25:27,180 643. 512 00:25:27,299 --> 00:25:28,460 Bien, me ha sacado las cifras 513 00:25:28,460 --> 00:25:30,019 igual y me funciona todo igual. 514 00:25:30,779 --> 00:25:32,160 ¿Vale? De esta manera. 515 00:25:39,140 --> 00:25:40,420 Bueno, no hay preguntas. 516 00:25:44,369 --> 00:25:44,690 A ver, 517 00:25:44,809 --> 00:25:46,829 siguiente ejercicio que querría yo 518 00:25:46,829 --> 00:25:55,529 abordar, el 9, hay que distinguir, esto es un if, el se if, distinguiendo posibilidades, 519 00:25:55,630 --> 00:26:04,049 muy sencillo, un if, el se if, distinguido de opciones, lo hacéis vosotros, el 10, hay 520 00:26:04,049 --> 00:26:08,390 que pensar un poquito para ver cómo va la condición, pero también es un if, el se 521 00:26:08,390 --> 00:26:14,289 if, distinguiendo tres opciones, bueno, cuatro, si no es triángulo y en caso de serlo, equilátero 522 00:26:14,289 --> 00:26:16,109 de usuarios es Scaleno, de nuevo 523 00:26:16,109 --> 00:26:18,210 un programa con cuatro posibilidades 524 00:26:18,210 --> 00:26:20,549 pues cuatro posibilidades 525 00:26:20,549 --> 00:26:22,769 unif el save planteándose las condiciones 526 00:26:22,769 --> 00:26:26,410 esto lo mismo, el más pequeño es más grande 527 00:26:26,410 --> 00:26:27,829 pues le 528 00:26:27,829 --> 00:26:30,289 condiciones, este es sencillo 529 00:26:30,849 --> 00:26:32,410 vale, entonces 530 00:26:32,410 --> 00:26:34,150 hasta el 12 tenéis que hacerlos 531 00:26:34,150 --> 00:26:35,549 rápidamente y sin problemas 532 00:26:35,549 --> 00:26:38,390 y a partir de ahí también 533 00:26:38,390 --> 00:26:39,910 pero este ya introduce 534 00:26:39,910 --> 00:26:41,930 una forma más eficiente de hacerlo 535 00:26:41,930 --> 00:26:43,210 a nivel de código 536 00:26:43,210 --> 00:26:45,210 y ya 537 00:26:45,210 --> 00:26:48,670 lo incorporamos mañana 538 00:26:48,670 --> 00:26:50,650 bueno, pues 539 00:26:50,650 --> 00:26:52,750 quedaos en los audios si queréis 540 00:26:52,750 --> 00:26:54,329 o si queréis podéis ir saliendo ya