Java - Validar un atributo dentro de un arreglo objeto

 
Vista:
Imágen de perfil de alberto
Val: 6
Ha disminuido su posición en 265 puestos en Java (en relación al último mes)
Gráfica de Java

Validar un atributo dentro de un arreglo objeto

Publicado por alberto (4 intervenciones) el 15/06/2020 18:10:30
Buen día a todos comunidad, necesito una asesoría,estoy realizando este ejercicio en el cual mediante un array de objeto ingreso un datos de un empleado, todo bien por el momento pero al hacer la comparación de una variable ingresada por teclado con la que esta guardada en el arreglo entra a la condicion ingreso el valor correcto y debería terminar el proceso pero vuelve y da otra vuelta hasta que ingrese el otro valor que este almacenado ayuda como hago para que solo al consultar un dato por teclado si esta termine el proceso ayudaa por favor.

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import javax.swing.JOptionPane;
 
public class tuzos {
    //Creamos un array de objetos de la clase empleados
    tuzos persona[] = new tuzos[2];
    private String nombre;
    private String apellido;
    private int edad;
    private double salarios;
 
 
    public String getNombre() {
        return nombre;
    }
 
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
 
    public String getApellido() {
        return apellido;
    }
 
    public void setApellido(String apellido) {
        this.apellido = apellido;
    }
 
    public int getEdad() {
        return edad;
    }
 
    public void setEdad(int edad) {
        this.edad = edad;
    }
 
    public double getSalarios() {
        return salarios;
    }
 
    public void setSalarios(double salarios) {
        this.salarios = salarios;
    }
 
    public tuzos(String nombre, String apellido, int edad, double salarios) {
        this.nombre = nombre;
        this.apellido = apellido;
        this.edad = edad;
        this.salarios = salarios;
    }
 
 
    public void ingre() {
 
        for (int i = 0; i < persona.length; i++) {
            //Indicamos cada uno de los parametros del objeto
             nombre = JOptionPane.showInputDialog("Escribe un nombre");
 
            apellido = JOptionPane.showInputDialog("Escribe un apellido");
            edad  = Integer.parseInt(JOptionPane.showInputDialog(null, "ingrese la edad"));
            salarios = Double.parseDouble(JOptionPane.showInputDialog(null,"ingrese el salario"));
 
 
 
            persona[i]  = new tuzos(nombre,apellido,edad,salarios);
            JOptionPane.showMessageDialog(null, "El nombre de la pelicula es: " + persona[i] .getNombre());
            JOptionPane.showMessageDialog(null, "El nombre de la pelicula es: " + persona[i] .getEdad());
        }
 
    }
 
    public void validardato() {
 
            System.out.println("Ingrese la cedula del cliente proceso de venta");
 
 
 
        for (int i = 0; i < persona.length; i++) {
            int edad2 = Integer.parseInt(JOptionPane.showInputDialog(null, ""));
            if (edad2  ==   persona[i].getEdad()) {
                System.out.println(" correcto tuzo" + persona[i].getEdad());
            } else {
                JOptionPane.showMessageDialog(null, "Estimado usuario la edad que ingresantes no esta registrada
                        en el sistema" + "", "Failure", JOptionPane.ERROR_MESSAGE);
 
            }
        }
 
    }
}
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
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Validar un atributo dentro de un arreglo objeto

Publicado por Kabuto (1381 intervenciones) el 15/06/2020 20:26:44
No entiendo porque muestras mensaje solicitando cédula pero luego pides y comparas edades:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public void validardato() {
 
    System.out.println("Ingrese la cedula del cliente proceso de venta");
 
 
 
    for (int i = 0; i < persona.length; i++) {
        int edad2 = Integer.parseInt(JOptionPane.showInputDialog(null, ""));
        if (edad2  ==   persona[i].getEdad()) {
            System.out.println(" correcto tuzo" + persona[i].getEdad());
        } else {
            JOptionPane.showMessageDialog(null, "Estimado usuario la edad que ingresantes no esta registrada
                    en el sistema" + "", "Failure", JOptionPane.ERROR_MESSAGE);
 
        }
    }

En cualquier caso, una forma de poner fin al bucle cuando haya encontrado una coincidencia es hacer que este método sea boolean y retorne valor true.
Además, un método que valida tiene bastante sentido que sea boolean.

Dentro del bucle, solo mostraremos mensaje y retornaremos true cuando la edad coincida.
Si la edad no coincide, no haremos nada dentro de este bucle, tan solo dejaremos que termine.

Una vez ha terminado el bucle, si el método sigue ejecutándose es porque no se ha encontrado coincidencia y no se ha retornado true.
Por lo tanto, podemos informar de que esa edad no coincide y retornar false
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public boolean validardato() {
 
    int edad2 = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese edad"));
    for (int i = 0; i < persona.length; i++) {
        if (edad2  ==   persona[i].getEdad()) {
            System.out.println(" correcto tuzo" + persona[i].getEdad());
            return true; //Esto finaliza la búsqueda
        }
    }
    //Si bucle for finaliza sin retornar true, es que no hay coincidencia en la edad
    JOptionPane.showMessageDialog(null, "Estimado usuario la edad que ingresantes no esta registrada
                    en el sistema" + "", "Failure", JOptionPane.ERROR_MESSAGE);
    return false;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de alberto
Val: 6
Ha disminuido su posición en 265 puestos en Java (en relación al último mes)
Gráfica de Java

Validar un atributo dentro de un arreglo objeto

Publicado por alberto (4 intervenciones) el 15/06/2020 23:39:30
Gracias amigo muy formal por la ayuda,que pena es que me equivoque gracias.
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