1
00:00:00,390 --> 00:00:01,360
Veamos otro ejemplo.

2
00:00:01,410 --> 00:00:06,540
Pero en vez de utilizar ventanas con el Yip Champaign como ventanas de diálogo, vamos a utilizar la

3
00:00:06,540 --> 00:00:11,910
consola terminal para que el usuario pueda ingresar el número, la información y así puede convertir

4
00:00:11,970 --> 00:00:14,790
el decimal o el número entero a los distintos sistemas.

5
00:00:14,890 --> 00:00:20,070
Entonces, muy parecido al ejemplo anterior, pero utilizando 100 por ciento el terminal.

6
00:00:20,130 --> 00:00:23,400
Para eso vamos a utilizar una clase de IAVA que ya habían implementado.

7
00:00:23,400 --> 00:00:28,680
Ya viene creada dentro de JDK, simplemente la utilizamos, la tenemos que instancias y esta clase se

8
00:00:28,680 --> 00:00:35,370
llama escaner y lo que hace es escanear la línea terminal para obtener parámetros del usuario, parámetros

9
00:00:35,430 --> 00:00:36,750
de entrada del sistema.

10
00:00:36,750 --> 00:00:37,040
Punto.

11
00:00:37,250 --> 00:00:42,990
Pero bien la idea mantener también este ejemplo el ejemplo de la clase anterior con ventanas.

12
00:00:43,110 --> 00:00:50,490
Entonces vamos a copiar sistemas numéricos, controlase y lo pegamos también en esa frase y nombramos.

13
00:00:50,580 --> 00:00:57,030
Le colocamos, por ejemplo, sistemas numéricos, entrada, scanner o escáner.

14
00:00:57,060 --> 00:01:04,110
Como quiera poner de esa forma escáner, que es el nombre de la clase del componente llevá para obtener

15
00:01:04,110 --> 00:01:09,150
los parámetros de la consola del input stream del terminal refractor.

16
00:01:10,440 --> 00:01:11,040
Perfecto.

17
00:01:11,550 --> 00:01:17,690
Voy a cerrar sistemas numéricos, los cierro y empezamos a trabajar en base a esta nueva clase renombrada.

18
00:01:18,110 --> 00:01:25,050
Entonces por acá vamos a crear la instancia de la clase Escanes, vamos a crear un objeto scaner es

19
00:01:25,050 --> 00:01:27,250
el tipo de esta variable objeto.

20
00:01:28,110 --> 00:01:34,490
A la variable le colocamos el mismo nombre escanes o el que quiera da lo mismo, igual el operador New

21
00:01:34,640 --> 00:01:36,990
y la clase Escanes.

22
00:01:37,370 --> 00:01:38,200
Parentesis.

23
00:01:38,700 --> 00:01:43,140
Hasta el momento estamos creando una instancia de la clase Knees, un objeto.

24
00:01:43,260 --> 00:01:48,900
Yo sé que estamos avanzando a pasos agigantados, pero la idea es empezar a adentrarse de a poco con

25
00:01:48,900 --> 00:01:49,530
estos temas.

26
00:01:49,620 --> 00:01:55,050
Después vamos a ver mucho más en detalle cómo crear una clase, como crear métodos, atributos, crear

27
00:01:55,080 --> 00:01:56,010
la instancia.

28
00:01:56,100 --> 00:01:59,080
Vamos a ver también el operador NIU en detalle.

29
00:01:59,220 --> 00:02:00,180
En fin, muchas cosas.

30
00:02:00,180 --> 00:02:04,530
Pero después, cuando lleguemos a la parte de programación orientada a objetos, por ahora solamente

31
00:02:04,530 --> 00:02:09,870
lo vamos a utilizar para crear la instancia de la clase Escaner, que es parte de Java, ya viene construida

32
00:02:09,870 --> 00:02:13,640
dentro de JDK, simplemente la tenemos que utilizar y para eso la tenemos que instancia.

33
00:02:13,800 --> 00:02:19,020
Así que por ahora no se preocupen tanto del negocio del constructor, porque acá estamos creando una

34
00:02:19,020 --> 00:02:22,350
instancia con el nombre de la clase que corresponde al constructor.

35
00:02:22,500 --> 00:02:26,700
Este constructor es un método especial que tiene parámetros, en fin, un montón de cosas que vamos

36
00:02:26,700 --> 00:02:27,300
a ver de a poco.

37
00:02:27,540 --> 00:02:34,410
Por ahora la vamos a usar, vamos a importar esta clase de Java útil, control, barra DoubleClick perfecto.

38
00:02:34,530 --> 00:02:41,220
Y espera recibir un argumento, un parámetro por el constructor cuando la instancia con el NIU acá recibe

39
00:02:41,310 --> 00:02:46,470
el input stream, que son los datos de entrada del terminal, pero se obtienen a través de la clase

40
00:02:46,470 --> 00:02:48,420
System System.

41
00:02:48,420 --> 00:02:51,780
Punto de entrada perfecto.

42
00:02:51,930 --> 00:02:53,230
Entonces 7.15.

43
00:02:53,230 --> 00:03:00,360
La entrada del terminal de la consola y system out que lo tenemos acá es salida e imprimir en la consola

44
00:03:00,480 --> 00:03:03,870
y acá es recibir datos del usuario de la consola.

45
00:03:04,920 --> 00:03:05,780
Hasta ahí estamos listo.

46
00:03:05,820 --> 00:03:07,560
Entonces ahora tenemos que obtener estos parámetros.

47
00:03:07,620 --> 00:03:11,470
Ya tenemos la clase inicializar, ya le pasamos el input stream.

48
00:03:11,610 --> 00:03:13,170
Ahora tenemos que escanear estos datos.

49
00:03:13,290 --> 00:03:18,810
Entonces por acá lo primero es pedir al usuario que ingrese un número entero, pero con la forma del

50
00:03:18,810 --> 00:03:21,240
terminal de la consola, no con una ventana.

51
00:03:21,390 --> 00:03:28,200
La forma de la ventana con opción PIN en la forma anterior del ejemplo anterior que vimos ahora esto

52
00:03:28,200 --> 00:03:30,060
lo vamos a quitar y lo vamos a reemplazar.

53
00:03:30,120 --> 00:03:37,800
Por ejemplo, voy a cortar esto el mensaje corto y acá consult colocamos el mensaje el usuario, entonces

54
00:03:37,800 --> 00:03:39,780
de esa forma le pedimos que ingrese un número.

55
00:03:40,840 --> 00:03:46,900
Bien, esto acá lo voy a quitar y lo tengo que reemplazar porque acá tenemos que capturar el parámetro

56
00:03:46,900 --> 00:03:49,430
del usuario, en este caso el número escaner.

57
00:03:49,990 --> 00:03:57,220
Punto el método Next Line entonces es justamente este método para obtener la línea del terminal que

58
00:03:57,220 --> 00:04:04,630
el usuario ingresó, pero del tipo es Trenc del tipo acá escanea la línea actual que el usuario ingresa

59
00:04:05,700 --> 00:04:12,090
primero en Next Line lo que hace es dejar esperando la consola el terminal hasta que el usuario ingresa

60
00:04:12,090 --> 00:04:14,530
un número o alguna información, lo que sea.

61
00:04:14,610 --> 00:04:17,080
Una vez que la ingresa se asigna a esta variable.

62
00:04:17,410 --> 00:04:22,870
Como esperamos que sea un número, lo tenemos que convertir con el Parse Hint y manejamos el error.

63
00:04:22,930 --> 00:04:26,890
Por lo tanto, todo esto acá sería exactamente igual, excepto mostrar el mensaje.

64
00:04:27,010 --> 00:04:29,920
La idea de mostrar el mensaje es 100 por ciento en el terminal.

65
00:04:30,070 --> 00:04:31,150
Esto acá lo cortamos.

66
00:04:34,190 --> 00:04:37,950
Sought lo pegamos, lo eliminamos.

67
00:04:38,070 --> 00:04:40,230
Esto acá ya no es necesario, entonces.

68
00:04:40,350 --> 00:04:40,680
Error.

69
00:04:40,740 --> 00:04:43,210
Debe ingresar un número entero con sino aclamación?

70
00:04:43,440 --> 00:04:45,630
Bien, pero acá tenemos muchas cosas que tenemos que quitar.

71
00:04:45,850 --> 00:04:49,530
Bueno, partiendo por acá abajo también esta ventana la vamos a quitar.

72
00:04:51,010 --> 00:05:00,170
Y la reemplazamos con una salida en consola sought y mostramos el mensaje con el detalle bien, pero

73
00:05:00,260 --> 00:05:05,900
se está repitiendo, por ejemplo, también estamos mostrando el mensaje, acá el mensaje acá se fijan,

74
00:05:06,140 --> 00:05:08,930
acá está resumido, pero se está mostrando de forma individual.

75
00:05:09,050 --> 00:05:12,770
Entonces eso puede confundir, va a estar replicando información.

76
00:05:12,800 --> 00:05:17,120
Entonces, la idea de dejar solamente esto resumido y todo esto acá lo podríamos quitar.

77
00:05:17,780 --> 00:05:21,880
Por ejemplo, esto de acá ya no es necesario para este ejemplo, lo vamos a quitar.

78
00:05:23,410 --> 00:05:27,760
Solamente dejamos un resultado hexadecimal y se utiliza acá.

79
00:05:29,520 --> 00:05:32,680
Dejamos resultado octal, pero todo lo demás le quitamos.

80
00:05:34,270 --> 00:05:35,710
Y lo mismo con Binario.

81
00:05:37,290 --> 00:05:40,640
Y esto lo dejamos número decimal que muestra el número que ingresó el usuario.

82
00:05:40,770 --> 00:05:41,510
Está perfecto.

83
00:05:41,600 --> 00:05:47,870
Guardamos, se elijan y todos los demás igual, solamente cambia la forma en cómo vamos a manejar el

84
00:05:47,930 --> 00:05:52,050
input y también la salida, todo mediante la consola.

85
00:05:52,400 --> 00:05:55,400
Vamos a guardar acaso hora un punto y coma.

86
00:05:55,760 --> 00:05:57,320
Guardamos y vamos a probar.

87
00:06:00,680 --> 00:06:06,890
Entonces lo primero aparece el terminal ingreso número y queda esperando, se fija que operando acá

88
00:06:06,890 --> 00:06:09,060
estamos en el escáner next line.

89
00:06:09,200 --> 00:06:13,420
Estamos ahí esperando hasta que el usuario ingresa un dato cuando lo ingresa con Next Line.

90
00:06:13,640 --> 00:06:15,080
Obtiene esta información.

91
00:06:15,170 --> 00:06:18,780
Este dato y se lo asigna al número STR a esta variable.

92
00:06:18,930 --> 00:06:20,980
Entonces vamos a ingresar, por ejemplo, XXX.

93
00:06:21,140 --> 00:06:25,340
De hecho, se colorea de color verde por defecto de que es un input del terminal.

94
00:06:26,970 --> 00:06:34,640
Y realiza el cálculo número decimal 30, binario 30 tanto y así por cada uno y finaliza el proceso.

95
00:06:34,770 --> 00:06:39,270
Pero también vamos a volver a la Antar ingrese número entero.

96
00:06:39,810 --> 00:06:43,680
Hola este hola también lo captura de que es una streeck, números, etc..

97
00:06:43,910 --> 00:06:45,050
Hola lo trata.

98
00:06:45,060 --> 00:06:52,350
Convertir a un entero va a dar un error error de ingresar un número entero perfecto y vuelve a pedir

99
00:06:52,350 --> 00:06:53,930
todo de nuevo en el catch.

100
00:06:54,090 --> 00:06:56,040
Recuerden que manejamos errores.

101
00:06:57,190 --> 00:07:01,840
De forma recursiva invocamos el main para repetir el proceso y luego salimos.

102
00:07:03,090 --> 00:07:08,900
No entra de nuevo error, se vuelve a realizar este proceso de forma recursiva, ya que ocurre el error,

103
00:07:09,020 --> 00:07:10,060
por ejemplo 1000.

104
00:07:11,030 --> 00:07:14,440
Ahora sí que sí y finaliza perfecto, sin ningún problema.

105
00:07:14,810 --> 00:07:19,880
Realiza los cálculos la conversión a binario octal hexadecimal y finaliza.

106
00:07:20,000 --> 00:07:23,030
Ahora bien, hay otra forma también que podemos mejorar optimizar esto.

107
00:07:23,390 --> 00:07:30,890
Por ejemplo, esto lo voy a comentar ya no necesario obtener el parámetro del tipo string con Nefilim.

108
00:07:31,310 --> 00:07:32,630
Tampoco sería necesario.

109
00:07:32,740 --> 00:07:34,550
Convertirãa Lo voy a comentar.

110
00:07:34,640 --> 00:07:37,250
No es necesario convertir utilizando Internet.

111
00:07:37,290 --> 00:07:37,860
Parcent.

112
00:07:37,910 --> 00:07:38,510
Por qué?

113
00:07:38,570 --> 00:07:44,690
Porque otra forma mucho mejor es obtener directamente el entero desde el escáner.

114
00:07:45,020 --> 00:07:53,180
Si el escáner se encarga de obtener la línea y convertirla a entero de forma automática escáner, punto,

115
00:07:53,270 --> 00:08:00,680
entonces en vez de utilizar next line que tenemos acá, la tenemos acá, que está comentada, usamos

116
00:08:00,860 --> 00:08:01,330
NEX.

117
00:08:03,180 --> 00:08:09,210
Una línea, pero la convierte automáticamente y así nos ahorramos código automatizados.

118
00:08:09,330 --> 00:08:16,730
El único tema que ingresamos, algo que no sea un número, va a lanzar una acepción input mix match

119
00:08:16,830 --> 00:08:17,290
exceptúan.

120
00:08:17,520 --> 00:08:23,280
Ya no es del tipo number fórmate deception otro tipo acepción, pero igual vamos a probar.

121
00:08:25,000 --> 00:08:27,130
Vamos a ejecutar con este cambio.

122
00:08:27,760 --> 00:08:30,390
Ingreso número 250.

123
00:08:31,230 --> 00:08:32,260
Perfecto número decimal.

124
00:08:32,320 --> 00:08:33,460
Los 50 se fijan.

125
00:08:33,550 --> 00:08:37,200
Lo capturé como un entero de forma automática y realiza el cálculo.

126
00:08:37,570 --> 00:08:39,340
Ahora vamos a equivocarnos.

127
00:08:42,090 --> 00:08:48,190
250 X lanza el error, pero del tipo input mix match es hecha.

128
00:08:48,990 --> 00:08:54,650
Entonces voy a copiar esta acepción y la cambiamos acá, la pegamos acá la reemplazamos, control,

129
00:08:54,660 --> 00:08:56,190
barra para importar.

130
00:08:57,140 --> 00:08:58,610
Perfecto, hoy la importamos.

131
00:08:58,700 --> 00:09:03,770
Hoy la tenemos incluso para acá, tenemos el importe de Swift, lo vamos a quitar.

132
00:09:03,890 --> 00:09:09,190
No lo estamos utilizando, que era del Champaign, lo quitamos entonces.

133
00:09:09,390 --> 00:09:14,030
Hoy estamos importando las clases, dependencias que estamos utilizando de IAVA.

134
00:09:14,030 --> 00:09:14,860
útil también.

135
00:09:14,960 --> 00:09:18,080
Después vamos a ver el tema de Packages y los importa más en detalle.

136
00:09:18,140 --> 00:09:19,520
Por ahora solamente lo utilizamos.

137
00:09:21,730 --> 00:09:23,680
Probamos entonces ahora.

138
00:09:25,020 --> 00:09:30,510
Hola y maneja correctamente el input MITS exception sin ningun problema.

139
00:09:31,050 --> 00:09:34,890
Tal como lo hacía antes con el number fórmate cepellón error debe ingresar un número entero.

140
00:09:34,950 --> 00:09:36,360
Perfecto ingreso número entero.

141
00:09:38,560 --> 00:09:42,090
Bien, ahí realiza la conversión para 7:50 y estamos listos.

142
00:09:42,240 --> 00:09:48,090
Otra forma de trabajar de forma dinámica con nuestra aplicación con el usuario para ingresar parámetros.

143
00:09:48,090 --> 00:09:51,510
Todo a través del terminal de la consola, utilizando la clase Escanes.

144
00:09:52,080 --> 00:09:57,320
Y recuerden que después vamos a entrar más en detalle a todos los temas que estamos utilizando, más

145
00:09:57,320 --> 00:09:57,690
avanzados.

146
00:09:57,780 --> 00:10:03,820
Todo lo que es clases, objetos, intensidad, crear una clase, en fin, todo lo que es troikas, manejo,

147
00:10:03,840 --> 00:10:05,190
sesión, por ejemplo.

148
00:10:05,200 --> 00:10:11,730
También podríamos capturar una sesión genérica en vez de utilizar una excepción específica como esta

149
00:10:11,730 --> 00:10:13,640
de acá, podríamos usar exception.

150
00:10:13,770 --> 00:10:20,470
Al final, todas las clases decepciones que se lanzan y que manejamos siempre van a extender decepción.

151
00:10:20,700 --> 00:10:24,930
Al final son todas hijas o son tipos de exception, que es la más genérica?

152
00:10:25,050 --> 00:10:28,290
Todos, incluso manejando esta, vamos a manejar todas.

153
00:10:28,890 --> 00:10:29,970
Por ejemplo, si corro.

154
00:10:31,810 --> 00:10:36,160
Y coloco, por ejemplo a BC, también funciona bien.

155
00:10:38,900 --> 00:10:40,610
Continuamos en la siguiente clase.
