Para sacar datos, hemos utilizado la instrucción system.out.printIn, pero también podemos introducir información al programa (un input). Para ello usaremos la clase Scanner con sus clases nextLine(), nextInt() y nextDouble(). Aunque también tenemos la clase JOptionPane con su método showInputDialog().
CLASE SCANNER
Esta clase nos permite recibir información en el terminal utilizando sus distintos métodos, los cuales son los siguientes:
nextLine(), nextInt() y nextDouble() Sirve para especificar a Java que vamos a recoger una cadena de texto:
import java.util.*; public class codigo { public static void main(String[] args) { // Crear un objeto Scanner para leer la entrada del usuario Scanner entrada = new Scanner(System.in); // Recogemos el nombre con nextLine ya que se trata de una cadena de texto System.out.println("Introduce tu nombre: "); String nombreUsuario = entrada.nextLine(); // Lo mismo de antes pero recogiendo un dato de tipo int System.out.println("Introduce tu edad: "); int edad = entrada.nextInt(); System.out.println("Hola " + nombreUsuario + ", tienes " + edad + " años"); // Cerrar el objeto Scanner para liberar los recursos entrada.close(); } }
CLASE JOPTIONPANE
Es lo mismo que lo anterior pero tiene una interfaz gráfica, aunque dependiendo de si recogemos un string o un número int, su funcionamiento cambia.
Recogiendo un Dato String
import javax.swing.JOptionPane; public class codigo { public static void main(String[] args) { String nombreUsuario =JOptionPane.showInputDialog("Introduce tu nombre: "); System.out.println("Hola " + nombreUsuario); } }
Se nos abre una ventana donde pide el nombre:
Lo insertamos y se imprime:
Recogiendo un Dato Int Para poder recoger un dato int, primero debemos recogerlo como si se tratase de un string y luego convertirlo a entero de la siguiente forma:
import javax.swing.JOptionPane; public class codigo { public static void main(String[] args) { String edad =JOptionPane.showInputDialog("Introduce tu edad: "); // Método showInputDialog de la clase JOptionPane int edad_corregida=Integer.parseInt(edad); // Recogemos la edad en formato string con el método parseInt de la clase Integer System.out.println("Tu edad es " + edad_corregida); // Convertimos la edad a entero } }



