Veamos otro ejemplo.
Pero en vez de utilizar ventanas con el Yip Champaign como ventanas de diálogo, vamos a utilizar la
consola terminal para que el usuario pueda ingresar el número, la información y así puede convertir
el decimal o el número entero a los distintos sistemas.
Entonces, muy parecido al ejemplo anterior, pero utilizando 100 por ciento el terminal.
Para eso vamos a utilizar una clase de IAVA que ya habían implementado.
Ya viene creada dentro de JDK, simplemente la utilizamos, la tenemos que instancias y esta clase se
llama escaner y lo que hace es escanear la línea terminal para obtener parámetros del usuario, parámetros
de entrada del sistema.
Punto.
Pero bien la idea mantener también este ejemplo el ejemplo de la clase anterior con ventanas.
Entonces vamos a copiar sistemas numéricos, controlase y lo pegamos también en esa frase y nombramos.
Le colocamos, por ejemplo, sistemas numéricos, entrada, scanner o escáner.
Como quiera poner de esa forma escáner, que es el nombre de la clase del componente llevá para obtener
los parámetros de la consola del input stream del terminal refractor.
Perfecto.
Voy a cerrar sistemas numéricos, los cierro y empezamos a trabajar en base a esta nueva clase renombrada.
Entonces por acá vamos a crear la instancia de la clase Escanes, vamos a crear un objeto scaner es
el tipo de esta variable objeto.
A la variable le colocamos el mismo nombre escanes o el que quiera da lo mismo, igual el operador New
y la clase Escanes.
Parentesis.
Hasta el momento estamos creando una instancia de la clase Knees, un objeto.
Yo sé que estamos avanzando a pasos agigantados, pero la idea es empezar a adentrarse de a poco con
estos temas.
Después vamos a ver mucho más en detalle cómo crear una clase, como crear métodos, atributos, crear
la instancia.
Vamos a ver también el operador NIU en detalle.
En fin, muchas cosas.
Pero después, cuando lleguemos a la parte de programación orientada a objetos, por ahora solamente
lo vamos a utilizar para crear la instancia de la clase Escaner, que es parte de Java, ya viene construida
dentro de JDK, simplemente la tenemos que utilizar y para eso la tenemos que instancia.
Así que por ahora no se preocupen tanto del negocio del constructor, porque acá estamos creando una
instancia con el nombre de la clase que corresponde al constructor.
Este constructor es un método especial que tiene parámetros, en fin, un montón de cosas que vamos
a ver de a poco.
Por ahora la vamos a usar, vamos a importar esta clase de Java útil, control, barra DoubleClick perfecto.
Y espera recibir un argumento, un parámetro por el constructor cuando la instancia con el NIU acá recibe
el input stream, que son los datos de entrada del terminal, pero se obtienen a través de la clase
System System.
Punto de entrada perfecto.
Entonces 7.15.
La entrada del terminal de la consola y system out que lo tenemos acá es salida e imprimir en la consola
y acá es recibir datos del usuario de la consola.
Hasta ahí estamos listo.
Entonces ahora tenemos que obtener estos parámetros.
Ya tenemos la clase inicializar, ya le pasamos el input stream.
Ahora tenemos que escanear estos datos.
Entonces por acá lo primero es pedir al usuario que ingrese un número entero, pero con la forma del
terminal de la consola, no con una ventana.
La forma de la ventana con opción PIN en la forma anterior del ejemplo anterior que vimos ahora esto
lo vamos a quitar y lo vamos a reemplazar.
Por ejemplo, voy a cortar esto el mensaje corto y acá consult colocamos el mensaje el usuario, entonces
de esa forma le pedimos que ingrese un número.
Bien, esto acá lo voy a quitar y lo tengo que reemplazar porque acá tenemos que capturar el parámetro
del usuario, en este caso el número escaner.
Punto el método Next Line entonces es justamente este método para obtener la línea del terminal que
el usuario ingresó, pero del tipo es Trenc del tipo acá escanea la línea actual que el usuario ingresa
primero en Next Line lo que hace es dejar esperando la consola el terminal hasta que el usuario ingresa
un número o alguna información, lo que sea.
Una vez que la ingresa se asigna a esta variable.
Como esperamos que sea un número, lo tenemos que convertir con el Parse Hint y manejamos el error.
Por lo tanto, todo esto acá sería exactamente igual, excepto mostrar el mensaje.
La idea de mostrar el mensaje es 100 por ciento en el terminal.
Esto acá lo cortamos.
Sought lo pegamos, lo eliminamos.
Esto acá ya no es necesario, entonces.
Error.
Debe ingresar un número entero con sino aclamación?
Bien, pero acá tenemos muchas cosas que tenemos que quitar.
Bueno, partiendo por acá abajo también esta ventana la vamos a quitar.
Y la reemplazamos con una salida en consola sought y mostramos el mensaje con el detalle bien, pero
se está repitiendo, por ejemplo, también estamos mostrando el mensaje, acá el mensaje acá se fijan,
acá está resumido, pero se está mostrando de forma individual.
Entonces eso puede confundir, va a estar replicando información.
Entonces, la idea de dejar solamente esto resumido y todo esto acá lo podríamos quitar.
Por ejemplo, esto de acá ya no es necesario para este ejemplo, lo vamos a quitar.
Solamente dejamos un resultado hexadecimal y se utiliza acá.
Dejamos resultado octal, pero todo lo demás le quitamos.
Y lo mismo con Binario.
Y esto lo dejamos número decimal que muestra el número que ingresó el usuario.
Está perfecto.
Guardamos, se elijan y todos los demás igual, solamente cambia la forma en cómo vamos a manejar el
input y también la salida, todo mediante la consola.
Vamos a guardar acaso hora un punto y coma.
Guardamos y vamos a probar.
Entonces lo primero aparece el terminal ingreso número y queda esperando, se fija que operando acá
estamos en el escáner next line.
Estamos ahí esperando hasta que el usuario ingresa un dato cuando lo ingresa con Next Line.
Obtiene esta información.
Este dato y se lo asigna al número STR a esta variable.
Entonces vamos a ingresar, por ejemplo, XXX.
De hecho, se colorea de color verde por defecto de que es un input del terminal.
Y realiza el cálculo número decimal 30, binario 30 tanto y así por cada uno y finaliza el proceso.
Pero también vamos a volver a la Antar ingrese número entero.
Hola este hola también lo captura de que es una streeck, números, etc..
Hola lo trata.
Convertir a un entero va a dar un error error de ingresar un número entero perfecto y vuelve a pedir
todo de nuevo en el catch.
Recuerden que manejamos errores.
De forma recursiva invocamos el main para repetir el proceso y luego salimos.
No entra de nuevo error, se vuelve a realizar este proceso de forma recursiva, ya que ocurre el error,
por ejemplo 1000.
Ahora sí que sí y finaliza perfecto, sin ningún problema.
Realiza los cálculos la conversión a binario octal hexadecimal y finaliza.
Ahora bien, hay otra forma también que podemos mejorar optimizar esto.
Por ejemplo, esto lo voy a comentar ya no necesario obtener el parámetro del tipo string con Nefilim.
Tampoco sería necesario.
Convertirãa Lo voy a comentar.
No es necesario convertir utilizando Internet.
Parcent.
Por qué?
Porque otra forma mucho mejor es obtener directamente el entero desde el escáner.
Si el escáner se encarga de obtener la línea y convertirla a entero de forma automática escáner, punto,
entonces en vez de utilizar next line que tenemos acá, la tenemos acá, que está comentada, usamos
NEX.
Una línea, pero la convierte automáticamente y así nos ahorramos código automatizados.
El único tema que ingresamos, algo que no sea un número, va a lanzar una acepción input mix match
exceptúan.
Ya no es del tipo number fórmate deception otro tipo acepción, pero igual vamos a probar.
Vamos a ejecutar con este cambio.
Ingreso número 250.
Perfecto número decimal.
Los 50 se fijan.
Lo capturé como un entero de forma automática y realiza el cálculo.
Ahora vamos a equivocarnos.
250 X lanza el error, pero del tipo input mix match es hecha.
Entonces voy a copiar esta acepción y la cambiamos acá, la pegamos acá la reemplazamos, control,
barra para importar.
Perfecto, hoy la importamos.
Hoy la tenemos incluso para acá, tenemos el importe de Swift, lo vamos a quitar.
No lo estamos utilizando, que era del Champaign, lo quitamos entonces.
Hoy estamos importando las clases, dependencias que estamos utilizando de IAVA.
útil también.
Después vamos a ver el tema de Packages y los importa más en detalle.
Por ahora solamente lo utilizamos.
Probamos entonces ahora.
Hola y maneja correctamente el input MITS exception sin ningun problema.
Tal como lo hacía antes con el number fórmate cepellón error debe ingresar un número entero.
Perfecto ingreso número entero.
Bien, ahí realiza la conversión para 7:50 y estamos listos.
Otra forma de trabajar de forma dinámica con nuestra aplicación con el usuario para ingresar parámetros.
Todo a través del terminal de la consola, utilizando la clase Escanes.
Y recuerden que después vamos a entrar más en detalle a todos los temas que estamos utilizando, más
avanzados.
Todo lo que es clases, objetos, intensidad, crear una clase, en fin, todo lo que es troikas, manejo,
sesión, por ejemplo.
También podríamos capturar una sesión genérica en vez de utilizar una excepción específica como esta
de acá, podríamos usar exception.
Al final, todas las clases decepciones que se lanzan y que manejamos siempre van a extender decepción.
Al final son todas hijas o son tipos de exception, que es la más genérica?
Todos, incluso manejando esta, vamos a manejar todas.
Por ejemplo, si corro.
Y coloco, por ejemplo a BC, también funciona bien.
Continuamos en la siguiente clase.