
Otra de novato: bucle en un catch
Publicado por Victor (11 intervenciones) el 29/06/2015 19:41:15
Debo decir que me da apuro poner mis dudas porque veo lo que pregunta otra gente y lo mío resulta demasiado básico, pero siempre intento pelearme un rato largo antes de postear. El caso es que al validar si el usuario ha introducido datos numéricos, el catch que devuelve el boolean false, hace que entre en bucle y pregunte y dé mensaje de error continuamente en vez de permitir entrar de nuevo el valor.
Seguramente es una tontería, pero no lo consigo corregir. Gracias
Seguramente es una tontería, pero no lo consigo corregir. Gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package primos;
import java.util.InputMismatchException;
import java.util.Scanner;
/**
*
* @author Victor
*/
public class Primos {
private static Scanner teclado=new Scanner(System.in);
static int cantidad;
static boolean valida=false;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int totprimos=0;
//
while(!valida){
System.out.println("Introduzca la cantidad de números primos a generar:");
valida=chequea();
}
System.out.println("OK "+cantidad);
}
// Método que chequea que la entrada de datos es numérica
static boolean chequea(){
try{
cantidad=teclado.nextInt();
return true;
} catch(InputMismatchException e){
System.err.println("Error en la entrada de datos.");
return false;
}
}
}
Valora esta pregunta


0