Java - Como hacer que me salte el mensaje de error

 
Vista:

Como hacer que me salte el mensaje de error

Publicado por Raquel (2 intervenciones) el 07/05/2018 18:50:12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
do{
    do{//Haz esto
        seguir = false;
        System.out.println("Introduce los datos del participante:");
        System.out.println("\033[35mID:\033[30m");
        correcto = lector.hasNextInt();//Analiza el tipo de dato (Tiene que ser entero)
        if (correcto){//Si el dato es entero
            //Lee el dato
            participantes [i][0] = lector.nextInt();
            if ((participantes [i][0] < MINIM_ID) || (participantes [i][0] > MAX_ID)){
                correcto = false;
                System.out.println("\033[31mID fuera de rango.");//Si el dato es incorrecto muestra error
                for(i = 0; i<participantes.length; i++){
                    participantes [i][0] = idRepetida;
                    if (participantes[i][0] == idRepetida){
                    System.out.println("\033[31mEste participante ya esta inscrito.");
                }
            }
        }
    }
        contador++;//Inicializamos contador
    }while((!correcto)&&(contador < INTENTOS));//Mientras que no sea correcto y sea menor que intentos se vuelve a pedir el dato
Hola!
Como puedo hacer que me salte el mensaje de error de que el participante ya esta inscrito si el ID esta repetido?
Lo he intentado de la manera que sale en el cogido y creo que no voy mal encaminada pero no me sale.
Alguien me puede ayudar?
Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Como hacer que me salte el mensaje de error

Publicado por Xibhu (19 intervenciones) el 25/05/2018 11:31:09
Hay algunas cosas raras en la lógica. En el segundo if, donde está la puerta OR, indicas que es fuera de rango, cuando es menor que el mínimo, o mayor que el máximo, vale. Pero dentro de ese mismo if es donde metes el for para saber si está repetido, ¿no debería ser en el else? Porque si está fuera de rango, no está inscrito. Creo que ese puede ser tu problema.
Y aparte, te sobra, o falta una llave en el if del for, que eso te tendrá que dar problemas de compilación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar