Hola, si estoy usando " Scanner " .. imagino que el problema debe ser que se encuentra fuera del rango permitido ya que el valor que recibe es el indicado ( ecepto q este interpretando mal el programa ) estoy trabajando con herencia en este ejercicio. Dejo el codigo que hice a continuacion y si puedes responder me seria de mucha ayuda, Desde ya muchas gracias
public class Oficinistas {
protected String nombre;
protected String apellido;
protected int legajo;
protected int codArea;
protected double sueldo=2000;
public Oficinistas (String nombrePersona, String apellidoPersona, int legajoPersona, int codigo){
nombre= nombrePersona;
apellido= apellidoPersona;
legajo= legajoPersona;
codArea= codigo;
}
public void establecerNombre(String nombrePersona){
nombre=nombrePersona;
}
public String obtenerNombre(){
return nombre;
}
public void establecerApellido(String apellidoPersona) {
apellido = apellidoPersona;
}
public String obtenerApellido(){
return apellido;
}
public void establecerLegajo(int legajoPersona){
legajo=legajoPersona;
}
public int obtenerLegajo(){
return legajo;
}
public void establecerCodArea(int codigo){
codArea=codigo;
}
public int obtenerCodArea(){
return codArea;
}
public void establecerSueldo(double plata){
sueldo=plata;
}
public double obtenerSueldo(){
return sueldo;
}
public String mostrar(){
return "nombre: " + obtenerNombre() + "\napellido: " + obtenerApellido() +
"\nlegajo: " + obtenerLegajo() + "\ncodigo area:" + obtenerCodArea() + "\nsueldo: " + obtenerSueldo() ;
}
public class Empresa {
public static void main (String [] args){
int numero=1;
Scanner s= new Scanner (System.in);
while (numero != 0){
System.out.println("elija el empleado a contratar: ");
System.out.println("1:oficinista 2:supervisor 3:gerente 4:salir");
numero = s.nextInt();
switch(numero){
case 1:
System.out.println("ingrese datos oficinista");
System.out.println("nombre - apellido - legajo - codigo de area");
Oficinistas empleadoOficinista = new Oficinistas(s.nextLine(), s.nextLine(), s.nextInt(), s.nextInt());
System.out.println(empleadoOficinista.mostrar());
break;
case 2:
System.out.println("ingrese datos supervisor");
System.out.println("nombre - apellido - legajo - codigo de area - antiguedad");
Supervisores empleadoSupervisor = new Supervisores(s.nextLine(), s.nextLine(), s.nextInt(), s.nextInt(), s.nextInt());
System.out.println(empleadoSupervisor.mostrar());
break;
case 3:
System.out.println("ingrese datos gerente");
System.out.println("nombre - apellido - legajo - codigo de area - antiguedad");
Gerentes empleadoGerente = new Gerentes(s.nextLine(), s.nextLine(), s.nextInt(), s.nextInt(), s.nextInt());
System.out.println(empleadoGerente.mostrar());
break;
case 4:
numero=0;
System.out.println("fin");
break;
}
}
}
Solo copie la clase OFINICISTAS despues hay 2 clases mas que heredan los datos de esa clase