Java - ayuda! no me imprime los datos del método que mando a llamar desde otra clase

 
Vista:
sin imagen de perfil
Val: 12
Ha aumentado su posición en 7 puestos en Java (en relación al último mes)
Gráfica de Java

ayuda! no me imprime los datos del método que mando a llamar desde otra clase

Publicado por Erwin Auner (6 intervenciones) el 05/04/2019 07:01:41
NO ME IMPRIME LOS DATOS DEL METODO IMPRIMIR QUE MANDO A LLAMAR DESDE EL CASO 3, SI LOS IMPRIME PERO TODOS DICEN NULL

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
import java.util.Scanner;
 
public class main {
 
    public static void main(String[] args) {
        Scanner leer=new Scanner(System.in);
        int op=0;
 
        do{
            System.out.println("*-*-*-*-*-*-ELIGE UNA OPCION-*-*-*-*-*");
            System.out.println("(1) INTRODUCIR LOS DATOS DE LA PERSONA");
            System.out.println("(2) CAMBIAR EL ESTADO CIVIL DE LA PERSONA");
            System.out.println("(3) IMPRIMIR LOS DATOS");
            System.out.println("(4) SALIR");
            op=leer.nextInt();
 
            switch(op){
                case 1:
                    DATOS();
                    break;
                case 2:
                    PERSONA p=null;
                    System.out.println("INTRODUCE EL NUEVO ESTADO CIVIL:");
                    p.getE_C();
                    break;
                case 3:
                    PERSONA P = new PERSONA();
                    P.Imprimir();
                    break;
            }
        }while(op!=3);
    }
 
    public static void DATOS(){
       PERSONA p=null;
       Scanner entrada=new Scanner(System.in);
       String nombre;
       String apellidos;
       String ID;
       String E_C;
 
       System.out.println("-------------------");
       System.out.println("INTRODUCE EL NOMBRE");
       nombre=entrada.next();
       System.out.println("INTRODUCE SUS APELIIDOS");
       apellidos=entrada.next();
       System.out.println("INTRODUCE EL NUMERO DE IDINTEFICACION");
       ID=entrada.next();
       System.out.println("INTRODUCE EL ESTADO CIVIL");
       E_C=entrada.next();
       p = new PERSONA(nombre, apellidos, ID, E_C );
    }
 
}





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
public class PERSONA {
    public String nombre;
    public String apellidos;
    public String ID;
    public String E_C;
 
    public PERSONA(String nombre, String apellidos, String ID, String E_C) {
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.ID = ID;
        this.E_C = E_C;
    }
 
    PERSONA() {
    }
 
    public String getNombre() {
        return nombre;
    }
 
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
 
    public String getApellidos() {
        return apellidos;
    }
 
    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }
 
    public String getID() {
        return ID;
    }
 
    public void setID(String ID) {
        this.ID = ID;
    }
 
    public String getE_C() {
        return E_C;
    }
 
    public void setE_C(String E_C) {
        this.E_C = E_C;
    }
 
    public String Imprimir(){
        System.out.println("-----DATOS DE LA PERSONA-----");
        System.out.println("NOMBRE: "+this.nombre);
        System.out.println("APELLIDOS: "+this.apellidos);
        System.out.println("ID: "+this.ID);
        System.out.println("ESTADO CIVIL: "+this.E_C);
        return null;
    }
 
}
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 Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ayuda! no me imprime los datos del método que mando a llamar desde otra clase

Publicado por Rodrigo (623 intervenciones) el 05/04/2019 12:22:41
Cada vez que haces new creas un objeto distinto. Linea 51 y Linea 27 son 2 objetos, y al que imprimes es al que esta en la linea 27.
Sugiero que tu funcion Datos retorne a la persona, y en el main recibas y guardes lo que Datos cree, y con ello veras los datos que ingresaste alli.
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
sin imagen de perfil
Val: 12
Ha aumentado su posición en 7 puestos en Java (en relación al último mes)
Gráfica de Java

Gracias por tu ayuda!

Publicado por Erwin (6 intervenciones) el 05/04/2019 16:22:56
Podrías darme un pequeño ejemplo de ello?, Por favor!
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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Gracias por tu ayuda!

Publicado por Rodrigo (623 intervenciones) el 07/04/2019 16:11:36
Algo asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class MiTest {
   public static void main(String[] args) {
        OtraClase objetoRetornado = funcion();
        // usar el objeto creado en otra funcion
   }
 
   public OtraClase funcion() {
          // crear, usar, llenar, definir objeto
          OtraClase objetoDeOtraClase = new OtraClase();
 
          // retornarlo
          return objetoDeOtraClase;
   }
}

Mas generico (T es un tipo cualquiera, como Persona, en tu caso)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class MiTest {
   public static void main(String[] args) {
        T objetoRetornado = funcion();
        // usar el objeto creado en otra funcion
   }
 
   public T funcion() {
          // crear, usar, llenar, definir objeto
          T objetoDeOtraClase = new T();
 
          // retornarlo
          return objetoDeOtraClase;
   }
}
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