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
Asked
Active
Viewed 65 times
0
Jorgesys
- 103,630
- 13
- 52
- 124
Luis Consuegra
- 5
- 2
-
1Cuando realizas que? es cuando te da "Error Null", agrega mas información y te ayudamos. Revisa [ask]. – Jorgesys Jul 02 '18 at 22:23
-
4Mira [ask] – gbianchi Jul 02 '18 at 22:43
1 Answers
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