0
import java.util.Scanner;
import java.util.ArrayList;

    class Persona{
        private String nombre;
        private int id,edad;
        static Persona global = new Persona();
            public Persona(){}

            public Persona(String Nombre, int ID, int Edad){
                this.nombre = Nombre;
                this.id = ID;
                this.edad = Edad;
                }

            public static String getName(){
                return global.nombre;
                }

            public static int getId(){
                return global.id;
                }

            public static int getEdad(){
                return global.edad;
                }

        }

    class Trabajador extends Persona{
            static Trabajador tr = new Trabajador();
            private String tTrab, empresa;
            private int aExp;

                public Trabajador(){
                    super();
                    }

                public Trabajador(String Nombre, String tTrabajo, String Empresa, int ID, int Edad, int AExp){
                    super(Nombre, ID, Edad);
                    this.tTrab = tTrabajo;
                    this.empresa = Empresa;
                    this.aExp = AExp;
                    }

            public static int getaExp(){
                return tr.aExp;
                }

            public static String getEmpresa(){
                return tr.empresa;
                }

            public static String getTrabajo(){
                return tr.tTrab;
                }

        }

    class Estudiante extends Persona{
            String  Universidad;
            int sCurso;

                public Estudiante(){
                    super();
                    }

                public Estudiante(String Nombre, String Univ, int ID, int Edad, int sCurs){
                    super(Nombre, ID, Edad);
                    this.Universidad = Univ;
                    this.sCurso = sCurs;
                    }
        }

    class Ambas extends Persona{
            String  Universidad;
            int sCurso;
            String tTrab, empresa;
            int aExp;

                public Ambas(){
                    super();
                    }

                public Ambas(String Nombre, String tTrabajo, String Empresa, int ID, int Edad, int AExp, int sCurs, String Univ){
                    super(Nombre, ID, Edad);
                    this.Universidad = Univ;
                    this.sCurso = sCurs;
                    this.tTrab = tTrabajo;
                    this.empresa = Empresa;
                    this.aExp = AExp;
                    }
        }


public class Test{
    static  ArrayList<Trabajador> Trabajadores = new ArrayList<Trabajador>();
    public  ArrayList<Estudiante> Estudiantes = new ArrayList<Estudiante>();
    public  ArrayList<Ambas> Ambos = new ArrayList<Ambas>();


        int menu(){
            Scanner inp = new Scanner(System.in);
            System.out.println("1.- INGRESAR  PERSONAS");
            System.out.println("2.- VERIFICAR DATOS");
            System.out.println("3.- MODIFICAR PERSONAS");
            System.out.println("0.- Salir");
            int m = inp.nextInt();
            return m;
            }

         void ingresar(){
            Scanner inp = new Scanner(System.in);
            System.out.print("INGRESE LA OCUPACION DE LA PERSONA (Trabajador, Estudiante, Ambos): ");
            String tTrabajo = inp.nextLine();
            switch(tTrabajo){
                case "Trabajador":
                    char r = 'S';
                    String tTrab, empresa, name;
                    int aExp, id, edad;
                    do{
                        System.out.print("INGRESE EL NOMBRE: ");
                        name = inp.nextLine();
                        System.out.print("INGRESE EL NOMBRE DE LA EMPRESA: ");
                        empresa = inp.nextLine();
                        System.out.print("INGRESE EL AREA DE TRABAJO: ");
                        tTrab = inp.nextLine();
                        System.out.print("INGRESE LA EDAD: ");
                        edad = inp.nextInt();
                        System.out.print("INGRESE EL ID: ");
                        id = inp.nextInt();
                        System.out.print("INGRESE LOS AÑOS DE EXPERIENCIA: ");
                        aExp = inp.nextInt();
                        Trabajador empleado = new Trabajador(name,tTrab,empresa,id,edad,aExp);
                        Trabajadores.add(empleado);
                        }while(r != 'S');
                    break;

                case "Estudiante":
                    break;

                case "Ambos":
                    break;
            }
        }

        void verificar(){
            Scanner inp = new Scanner(System.in);
            System.out.print("INGRESE LA OCUPACION DE LA PERSONA (Trabajador, Estudiante, Ambos): ");
            String tTrabajo = inp.nextLine();
            switch(tTrabajo){
                case "Trabajador":
                        String name;
                        System.out.print("INGRESE EL NOMBRE: ");
                        name = inp.nextLine();
                    for(Trabajador temp : Trabajadores){
                        if (Trabajador.getName().equals(name)){
                            System.out.println("NOMBRE: "+Trabajador.getName());
                            System.out.println("ID: "+Trabajador.getId());
                            System.out.println("Edad: "+Trabajador.getEdad());
                            System.out.println("Trabajo: "+Trabajador.getTrabajo());
                            System.out.println("AÑOS DE EXPERIENCIA: "+Trabajador.getaExp());
                            System.out.println("EMPRESA: "+Trabajador.getEmpresa());
                            }
                        }
                    break;

                case "Estudiante":
                    break;

                case "Ambos":
                    break;
            }
            }

    public static void main (String[] args){
    Test tst = new Test();


            int x;
            do{
                x = tst.menu();
                switch(x){
                    case 1:
                        tst.ingresar();
                    break;//Break Case 1 Switch x

                    case 2:
                        tst.verificar();
                    break;

                    case 3:
                        //modificar();
                    break;
                    }//Fin Switch
            }while(x != 0); //Fin Do


    }//Fin Main
}//Fin Class
Jorgesys
  • 103,630
  • 13
  • 52
  • 124

1 Answers1

0

Lo probé dejando de instanciar cada clase dentro de sí misma y haciendo que sus variables dejen de ser 'static' y funcionó bien. Además en el ciclo 'for' que está dentro del método 'verificar()' debería usar el nombre de la instancia "temp" en vez del nombre de la clase 'Trabajador'.

N.N.
  • 591
  • 4
  • 17