ayuda con excepciones try y catch

Hola que tal comunidad, me gustaria que porfavor si alguien fuera tan amable ayudarme con las Excepciones de este programa
el programa al iniciar me pide "porfavor inserte un numero que imagina" lo que quiero esque el programa me diga " porfavor inserta un numero entero" y que se repita el proceso hasta que inserte un numero entero, ya que si inserto una palabra o algo el programa me tiene que pedir de nuevo el numero entero

: gracias

import java.util.Scanner;

public class programadivinansa {
public static void main(String[] args) {
int numeroadivinar;
int numeroddelusuario;
Scanner teclado= new Scanner(System. in);
numeroadivinar=(int) (Math.random()*100+1);
System.out.println(numeroadivinar);
do{
System.out.println("numero que imagina:");
numeroddelusuario= teclado.nextInt();
if(numeroddelusuarionumeroadivinar){
System.out.println("numero es mayor");
}
} while(numeroddelusuario!=numeroadivinar);{
System.out.println("felicidades adivinaste");
}
}
}

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 utombou

Respuesta

Hola viejo, existe muchas formas (como en casi todo) de dar solución a tu problema. En este caso considero como bien planteas utilizar un método de captura de excepciones para solventar un error de entrada. Sin embargo fuese más práctico realizar una función (o método) aparte del main principal para que manejes el procesamiento, y cuando captures la excepcion vuelvas a llamar al mismo método recursivamente hasta que le de con la opción correcta.

Veamos como pudiese quedar:

 

Solo me gustaria sin JOptionPane "sin ventana"

Solu usar try y catch porfavor gracias

Imagen de neko069

Puedes sustituir los

Puedes sustituir los   por llamadas a   y   para entrada / salida de datos.

Si pero esto esta medio confuso

De echo unos amigos y yo estamos tratando pero no podemos hacer que el programa nos vuelva a pedir codigo:

Introduce un número del 1 al 10
hola
Error: introduce sólo números enteros
Introduce un número del 1 al 10
2
numero muy pequeño
Introduce un número del 1 al 10
98
numero muy grande
Introduce un número del 1 al 10
9
numero muy grande
Introduce un número del 1 al 10
5
correcto, número aleatorio: 5

algo como esto...

Imagen de utombou

Sustituye...!!

Tranquilo viejo, sustituye los metodos de entrada y salida de datos con el de tu preferencia... usa el Scanner para eso y el Out para salida... Como tu quieras...

Imagen de utombou

Como en el ejemplo que te pasé

Revisa el ejemplo para que veas que simplemente yo utilizo un metodo recursivo que se encarga de llamar una y otra vez hasta que sea correcto!!
En ese ejemplo esta justo como lo quieres men... Lo unico que no está como quieres es los metodos de entradas... cambialos por el de tu preferencia!!!!

@jysusxtreme Tu ya sabes

@jysusxtreme Tu ya sabes como poner el tag <code> úsalo...

Lo que puedes hacer es leer un string y validarlo con una expresión regular

 

Y ya que estás ahí crea esto como un método aparte para que quede:

 

Imagen de ezamudio

de hecho

Si quieres que SOLAMENTE haya escrito 1 o 2 dígitos, no es suficiente con esa regex, porque también se cumple para 1234238495762498567459. Tiene que ser   o bien   (un dígito obligatorio y uno opcional).

Ándele

Ándele

El codigo ya lo tengo gracias

No e entrado al blog, por cuestiones de estudio, mañana subo el codigo de este programa para que vean que tal quedo