usar Scanner para leer entrada

Sé que se puede usar la clase Scanner para leer una entrada desde la línea de comandos (consola). Se hace de la siguiente manera (ejemplo para leer números tipo int):
 

Lo que quiero saber es: ¿Se puede utilizar un Scanner para leer desde un diálogo (...JOptionPane.showInputDialog) de igual manera?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de JaimeItlzc

Scanner

Scanner es para entrada desde consola aqui te dejo algo Sobre Console vs Dialog(JOptionPane)I/O.
Java:Console Vs Dialog(JOptionPane

Espero te sirva y comprendas.
Saludos.

Imagen de rulo4

Sccaner

Muchas gracias por responder. Quiero que mi programa reciba cierto tipo de dato, y de no introducir el tipo de dato requerido (ejemplo: int), enviar un mensaje de error; y luego permitir al usuario reintentar. ¡Gracias!

Imagen de JaimeItlzc

Se escribe Scanner

1.- En Java puedes declarar la variable e inicializarla al mismo tiempo por lo que podrías cambiar tu código por algo así:
 

Que, luce casi igual, pero al menos resulta un poquitito más fácil identificar donde es usada una variable.

2.- Si tienes funcionalidad repetida, puedes crear un método. Aunque de nuevo, en tu código puede parecer exagerado hacer lo siguiente, en un pedazo de código más grande puede valer la pena: "Extraer un método"

Por ejemplo en tu código estas a) tomando información del usuario y b) convirtiendola en un entero. Para ello estás creando tres variables de string temporales ( xVal, yVal y zVal ) y tres variables de int temporales ( x,y, Y z ) ... si usas un método para obtener esa información puedes eliminar esas variables temporales.

 

Tu código final puede verse así:
 

De esta forma, si quisieras agregar validaciones como también sugiere Jaime, podrías poner la validación en ese nuevo método y no tener que ensuciar el método principal o tener que hacer copy/paste de alguna validación, por ejemplo para forzar a que el usuario introduzca un entero puedes cambiar el método así:

 
O también podrías usar un componente que ya haga la validación, todo, sin tener que cambiar la función que lo llama.

Por último, el System.exit(0); puede omitirse, por default es el valor con el que termina Java.

Espero que esto te sirva... chau!!!

Este Ejemplo Fue proporcionado por un Miembro de la Comunidad @OscarRyz
Y este es el link Explicación