Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 2 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Dom Jun 10, 2007 11:00 pm
Mensajes: 44

Nota Publicado: Mar Nov 22, 2011 11:01 am 
Arriba  
Hola a todos.

La duda que tengo es como hacer un programa en java que pida 2 numeros enteros, pero que si estos no son enteros, los vuelva a pedir.

Tengo este codigo de ejemplo, que no es de lo mejor, pero para graficar el problema sirve:

Código:
import java.util.Scanner;
public class Ej_1 {
   public static void main (String args[]) {
      Scanner Entrada=new Scanner(System.in);
      int a,b;
      
      do {
         a=Entrada.nextInt();
         b=Entrada.nextInt();
      }while ((a<30) && (b<30));
      
      if (a>b)
         System.out.println("El mayor es " +a);
      else
         System.out.println("El mayor es " +b);
      
      }
}


El problema es que si ingreso un numero que no es entero, por ejemplo 2,2, el programa se termina y lo que quiero es que vuelva a pedir otro numero hasta que el mismo sea entero.

Acepto cualquier sugerencia. Gracias.

 Perfil  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Nov 28, 2007 12:00 am
Mensajes: 1361
Ubicación: En la X del explorer (pulse para llamar)

Nota Publicado: Mar Nov 22, 2011 5:13 pm 
Arriba  
Te recomendaría primero, que te informaras del javadoc de la clase que estés usando (en este caso "Scanner"), y segundo, que prestaras atención a los mensajes de error que aparecen en la consola.

La función "nextInt" lanza un InputMismatchException si el siguiente token no concuerda con la expresión regular para un entero o si está fuera de rango. Para tu caso, el token no es un entero, y por tanto lanza esa excepción. Dicha excepción no está capturada en tu código, y por eso el programa se termina.

_________________
Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)

 Perfil  
Mostrar mensajes previos:  Ordenar por  
 [ 2 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO