Java - Actualizar Datos

 
Vista:

Actualizar Datos

Publicado por Aldemar (6 intervenciones) el 11/07/2017 19:41:10
necesito que el siguiente codigo admin pueda actualizar los datos del usuario en el swicth del caso 3 , necesito que le pida el id para que admin indique cual de los usuarios registro quiere cambiar solo ingresando el ID pero problema es que si ingreso dos ususarios con distintos ID (1,2) solo me actualiza en valor 1 y segundo no :(

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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package com.panaderia.inicio;
import com.panaderia.herramientas.AbsScan;
import com.panaderia.modelo.Usuario;
import com.panaderia.variables.interVariables;
import java.util.Iterator;
 
public class inicio extends AbsScan implements interVariables {
    public static void main(String[] arg){
        inicio i=new inicio();
        i.menu();
    }
    public void menu(){
        System.out.println("Bienvenidos");
        System.out.println("Usuario:");
        String u=super.scanLine();
        System.out.println("Clave:");
        String c=super.scanLine();
 
        if(u.equals(usuario) && c.equals(clave)){
           menuAdministrador();
        }else{
            System.out.println("Usuario o la clave son incorrectos, intentelo de nuevo.");
            menu();
        }
 
    }
        private void menuAdministrador(){
            System.out.println("Bienvenido administrador");
            System.out.println("1. para crear Usuarios.");
            System.out.println("2. para consulta de Usarios.");
            System.out.println("3. para actulizar datos de Usuarios.");
            System.out.println("4. para eliminar informacion de Usuarios.");
 
            // seleciono la opción
            switch(super.scanInt()){
                case 1:
                    registroUsuarios();
                    break;
                case 2:
                    consultaUsuarios();
                    break;
                case 3:
                    actualizarUsuarios();
                    break;
                default:
            }
 
        }
 
    private void registroUsuarios() {
 
        System.out.println("Cantidad de usuarios");
        int x=super.scanInt();
        for(int i=1;i<=x;i++){
        Usuario usu=new Usuario();
        System.out.println("ID:");
        usu.setId(super.scanLine());
        System.out.println("Documento:");
        usu.setDocumento(super.scanLong());
        System.out.println("Nombre:");
        usu.setNombre(super.scanLine());
        System.out.println("Apellido:");
        usu.setApellido(super.scanLine());
        System.out.println("Usuario:");
        usu.setUsuario(super.scanLine());
        System.out.println("Clave:");
        usu.setClave(super.scanLine());
        listaUsuario.add(usu);
        }
        menuAdministrador();
    }
 
 
private void consultaUsuarios() {
        Iterator<Usuario> nombreIterator = listaUsuario.iterator();
        while (nombreIterator.hasNext()) {
            Usuario elementoUsuario = nombreIterator.next();
            System.out.println("Usuarios Ingresados");
            System.out.print(elementoUsuario.getId() + " | ");
            System.out.print(elementoUsuario.getDocumento() + " | ");
            System.out.print(elementoUsuario.getNombre() + " | ");
            System.out.print(elementoUsuario.getUsuario() + " | ");
            System.out.print(elementoUsuario.getClave() + " | ");
            System.out.println("");
        }
        menuAdministrador();
    }
 
private void actualizarUsuarios() {
 
    System.out.println("Digita el ID del usuario que deseas modificar");
 
        String a=super.scanLine();
    for (int i = 0; i < listaUsuario.size(); i++) {
        if (a.equals(listaUsuario.get(i).id)) {
            Usuario elementoUsuario = listaUsuario.get(i);
            System.out.println("Cambiar Documento:");
            elementoUsuario.setDocumento(super.scanLong());
            System.out.println("Cambiar Nombre:");
            elementoUsuario.setNombre(super.scanLine());
            System.out.println("Cambiar Apellido:");
            elementoUsuario.setApellido(super.scanLine());
            System.out.println("Cambiar Usuario:");
            elementoUsuario.setUsuario(super.scanLine());
            System.out.println("Cambiar Clave:");
            elementoUsuario.setClave(super.scanLine());
 
        }
        menuAdministrador();
    }
 
    }
}
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 Sebastian
Val: 282
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Actualizar Datos

Publicado por Sebastian (91 intervenciones) el 11/07/2017 21:03:27
Buenas, el error puede ser que en el ciclo que recorre el arregle de usuarios,
solo hace el ciclo una vez y luego llamas al menú, por lo que el arreglo no es recorrido hasta que finalice el menú

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
private void actualizarUsuarios() {
 
    System.out.println("Digita el ID del usuario que deseas modificar");
 
        String a=super.scanLine();
    for (int i = 0; i < listaUsuario.size(); i++) {
        if (a.equals(listaUsuario.get(i).id)) {
            Usuario elementoUsuario = listaUsuario.get(i);
            System.out.println("Cambiar Documento:");
            elementoUsuario.setDocumento(super.scanLong());
            System.out.println("Cambiar Nombre:");
            elementoUsuario.setNombre(super.scanLine());
            System.out.println("Cambiar Apellido:");
            elementoUsuario.setApellido(super.scanLine());
            System.out.println("Cambiar Usuario:");
            elementoUsuario.setUsuario(super.scanLine());
            System.out.println("Cambiar Clave:");
            elementoUsuario.setClave(super.scanLine());
 
        }
        //tienes que dejar que recorra todo el arreglo y despues llamar al menu
        //menuAdministrador();
 
    }
      //despues de que finalice el ciclo debes llamar al menú en esta parte
      menuAdministrador();
    }

Espero que te sirva :D
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

Actualizar Datos

Publicado por Aldemar (6 intervenciones) el 11/07/2017 21:09:31
Si me sirvió gracias
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