Pedir Datos al Usuario

    Habiendo leido la entrada anterior, nuestro programa mostraba en la máquina virtual de Java o JVM(Java Virtual Machine), un mensaje al usuario, mostrando lo que colocabamos en el comando System.out.println.

    Ahora que sabemos como inicializar una clase y correr un programa muy sencillo, vamos a pedir datos al usuario, donde el introduzca ciertos valores o caracteres y el programa pueda interactuar con el.

    Para esto debemos utilizar la libreria Input Output, esto se logra colocando al principio del programa: (import java.io.*;), esto importara dicha libreria al programa. Esta libreria indica la entrada y salida de datos.

    El comando que podemos utilizar es el de Scanner o BefferReader, personalmente prefiero el BufferReader ya que es, en términos sencillos, una versión mejorada del Scanner. el comando va de la siguiente manera:

    InputStreamReader VARIABLE1= new InputStreamReader(System.in);

    BufferedReader VARIABLE2= new BufferedReader (VARIABLE1);

    O lo podemos inicializar directamente:

    BufferedReader VARIABLE= new BufferedReader (new InputStreamReader(System.in));

    Y recordando que en todo lenguaje de programación se utilizan variables, en este caso utilizaremos la del tipo String(caracter).

    Ahora pasaremos a un ejercicio sencillo, en el cual se le pedira el nombre al usuario y el programa lo saludara, el ejemplo va asi:

  • Lo primero es importar la libreria Input Output

             import java.io.*;

  • Inicializamos la clase

             class nombre

  • Iniciamos el método principal

             public static void main (String [] args) throws IOException

  • Iniciamos la variable 

             String Nombre;

  • Iniciamos el método de lectura de datos y salida por pantalla 

             BufferedReader VARIABLE= new BufferedReader (new InputStreamReader(System.in));

             System.out.println("Ingrese su nombre: ");

  • Indicamos al programa que los datos que va a ingresar el usuario se almacenaran en la variable del tipo caracter(String)

              Nombre= VARIABLE.readLine();

  • Mostramos por pantalla el nombre del usuario saludandolo

               System.out.println("Hola "+Nombre);

  • Finalizamos el método principal y la clase

    Viendo la explicación anterior notamos luego del "Hola" vemos un "+" y el nombre de la variable que almaceno los datos introducidos, esto es porque debemos indicarle al programa que luego del texto que va entre comillas ("Hola"), va a mostrar otro contenido, esto se hace colocando un sigo de "+" e indicando que va a ir luego, en este caso una variable. En una salida por pantalla pueden existir un sin fin de "+", pero respetando la sintaxis.

    También notamos lo siguiente readLine(). esto indica al programa que va a leer la línea o los datos que el usuario va a introducir y los va a almacenar en la variable que contenga dicho comando.

    Lo mas importante a explicar es lo que esta en el constructor del método principal, que es throws IOException. Esto indica que cuando introducimos datos, se puede generar una excepción, es decir, si le indicamos al programa que vamos a introducir datos numericos del tipo entero e introducimos caracteres en vez de números, se generara un excepción de incompatibilidad.

    Aclarado todo el código y habiendo explicado que es cada cosa, este debe quedar mas o menos asi:

import java.io.*;
class nombre {
  public static void main (String [] args) throws IOException {
    String Nombre;
    BufferedReader Teclado= new BufferedReader 
           (new InputStreamReader(System.in));
    System.out.println("Ingrese su nombre: ");
    Nombre= Teclado.readLine();
    System.out.println("Hola "+Nombre);
  }
}

    Recordemos que el archivo debe ser guardado con el mismo nombre de la clase principal y que Java es sensible a mayúsculas y minúsculas, asi que hay que tener cuidado al momento de escribir nuestro código.

    Si deseas practicar mas y mejorar este código puedes introducir mas datos como el nombre, apellido o número telefónico, usando distintas variables y almacenandolas en la variable del BufferReader, y mostrandolas por pantalla con el "+".



5 Comentarios

Escribir Comentario
29 de febrero de 2012, 7:07 delete

Hola Carlitox!
Como ejecuto mi class en el prompt ?
gracias !

Responder
avatar
29 de febrero de 2012, 10:21 delete

Hola otra vez!

Consegui configurar el environment del JDK gracias a eso consegui el '.class' usando en el prompt 'javac'. Gracias. Por otra parte, no consigo ejecutar ni el 'Hola Mundo' en el prompt. Si me podrias dar una mano con esto. Thanks in advance!

Responder
avatar
29 de febrero de 2012, 10:47 delete

Hola, como estas?? Bueno, el .class en realidad es el .java compilado, que IDE o editor utilizas para compilar los archivos?

Al decir que no puedes ejecutar ni el "Hola Mundo" entonces debe ser eso, dime que IDE y que entorno (SO) utilizas para ayudar a configurarlo... Saludos!

Responder
avatar
1 de marzo de 2012, 21:30 delete

wow! gracias primeramente por contestar Carlitox! bueno, en realidad lo estoy haciendo a manopla los ejemplos que mostras en tu blog (notepad), mi SO es el Windows XP SP2. Tengo conocimientos básicos del IDE Netbeans .. los archivos los intentaba ejecutar desde el command nada mas ..

Responder
avatar
2 de marzo de 2012, 0:10 delete

No hay problema, para eso entonces puedes utilizar lo siguiente:

javac MiClase.java

En ningún momento tocas el archivo .class que genera Java.

Responder
avatar

Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión